Pagina 1 di 1

visualizzare modifica dati su browser

Inviato: 05/05/2016, 9:24
da giampiero76
Salve sto cercando di interagire con il DB mysql sul browser, ma non mi aggiorna i dati, dove sbaglio, manca qualcosa?
Grazie

Codice: Seleziona tutto

<?php

?>
<table border="1" align="center">
<tr>
<td align="center">firstname</td><td align="center">lastname</td><td align="center">email</td>
</tr>
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "my_db";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if (isset($conn->connect_error)) {
    die("Connection failed: " . $conn->connect_error);
} 

$sql = "INSERT INTO Mytable (firstname, lastname, email)
VALUES ('John', 'Doe','john@example.com')";
$sql = "INSERT INTO Mytable (firstname, lastname, email)
VALUES ('gian', 'piero','gianpiero@example.com')";
if ($conn->query($sql) === TRUE) {
    echo "New record created successfully";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();
?>
<?php
$db_connection= mysql_connect($servername, $username, $password, $dbname);
$db_selection = mysql_select_db('my_db',$db_connection);

$query = mysql_query("SELECT distinct firstname, lastname, email FROM Mytable WHERE id ");
while($foreach = mysql_fetch_array($query)){ 

	echo " 
	<tr>
	<td>".$foreach['firstname']."</td><td>".$foreach['lastname']."</td><td>".$foreach['email']."</td>
	</tr>";
	}
	?>
</table>

//E QUESTA E LA TABELLA:

<table>
        <tr>
                <td>FIRSTNAME</td>
                <td> - </td> 
                <td>LASTNAME</td>
                <td> - </td> 
              <td>EMAIL</td>
                <td> - </td> 
                <td></td>
                <td> - </td> 
                <td></td>
                <td> - </td> 
                <td></td>
                <td> - </td> 
                <td></td>
                <td> - </td> 
                <td></td>
        </tr>
		
<?php
$db_connection= mysql_connect('localhost','root','');
$db_selection = mysql_select_db('my_db',$db_connection);

$query = mysql_query("SELECT * FROM Mytable");
while($cicle=mysql_fetch_row($query)){
    echo " 
         <tr>
                <td>".$cicle['firstname']."</td>
                <td> - </td> 
                <td>".$cicle['lastname']."</td> 
                <td> - </td> 
              <td>".$cicle['email']."</td>
                <td> - </td> 
                <td>".$cicle['']."</td> 
                <td> - </td> 
                <td>".$cicle['']."</td>
                <td> - </td> 
                <td>".$cicle['']."</td>
                <td> - </td> 
                <td>".$cicle['']."</td> 
                <td> - </td> 
                <td>".$cicle['']."</td>
				
          </tr>";
		  
         }
?>
</table>

Re: visualizzare modifica dati su browser

Inviato: 09/05/2016, 14:09
da Sir Xiradorn
Certo che si ma veniamo di fare un pezzetto per volta perchè hai fatto una confusione gigantesca tra mysql e mysqli. Hai inoltre fatto un pastrocchio sulle query. Facciamo un po si ordine e analizziamo la parte più semplice. Poi ho visto degli echo che fanno accapponare la pelle.

Codice: Seleziona tutto

<?php
/**
 * Connessione al database tramite mysqli
 * @author Sir Xiradorn ( http://xiradorn.it )
 */

$host     = "localhost";
$user     = "root";
$pass     = "";
$db     = "my_db";

/// Inizializzazione variabili
$table_data = $html = "";

// Connessione al database tramite mysqli
$mysqli = mysqli($host, $user, $pass, $db);
if ($mysqli->connect_error) {
    die ( "Errore di connessione per il seguente motivo: " . $mysqli->connect_errno . " : " . $mysqli->connect_error;
}

// query di selezione
// ogni query va eseguita 
// se fai due query devi eseguire il comendo di query
// due volte
$sql = "SELECT DISTINCT firstname, lastname, email 
        FROM Mytable";

$result = mysqli_query($mysqli, $sql);

while ($row = mysqli_fetch_assoc($result)) {
    // questa sitassi si chiama HEREDOC
    // si usa quando devi generare delle moli di testo belle grosse
    // o far stampare html ad esempio
    // puoi usare variabili inserendole tre parentesi graffe {$variabile}
    
    $table_data .=<<<HTML
    <tr> 
        <td>{$row["firstname"]}</td>
        <td>{$row["lastname"]}</td>
        <td>{$row["email"]}</td>
    </tr>
HTML;
}

/**
 * Questa parte la useremo per la stampa a video della pagina globale
 * questa tecnica è una sorta di templating e tiene pulito il codice separandolo
 */

$html =<<<HTML
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>Pagina di esempio</title>
</head>
<body>
    <table>
        <tr>
            <th>Nome</th>
            <th>Cognome</th>
            <th>Email</th>
        </tr>
        <!-- Dati -->
        {$table_data}
    </table>
</body>
</html>
HTML;

// componiamo la pagina web tenendo pulito il codice
// e facedola stampare direttamente in php senza uscire fuori dal
// codice stesso
echo $html;