Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: Query su db mysql

  1. #1

    Query su db mysql

    Ciao a tutti, in un mio database ho circa un migliaio di iscritti. Ogni iscritto ha chiaramente un indirizzo ip associato. Però ho

    "tabella_iscritti" che contiene id, nome, email
    "tabella_dettaglio" che contiene id, indirizzo ip

    come posso fare a creare semplicemente uno script php che mi consenta di avere un out di testo: nome, email, indirizzo ip

    Grazie

  2. #2
    Basta esequire una query con le due tabelle in join sul campo ID.

    codice:
    SELECT i.nome, i.email, d.ip FROM tabella_iscritti i, tabella_dettaglio d where i.id = d.id
    Ultima modifica di satifal; 19-10-2015 a 15:25
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Se come "out" vuoi un file di testo basta usare fwrite().

    Per recuperare i dati che vuoi scrivere ti serve una query che metta insieme i dati delle 2 tabelle.
    Le query sono materia database e in tale sezione vanno chieste informazioni a riguardo.

  4. #4
    Come faccio a spostare il post nella sezione giusta?
    Io non sono molto esperto lo ammetto, riesco a fare una query sul DB ma solo prendendo i dati da una sola tabella non riesco proprio a capire come fare ad associare l' id della "tabella_iscritti" a quelli della "tabella_dettaglio".
    Per l' output invece con fwrite ci sono riuscito

  5. #5
    ti ha già risposto satifal

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Quote Originariamente inviata da bonzer1 Visualizza il messaggio
    Come faccio a spostare il post nella sezione giusta?
    Io non sono molto esperto lo ammetto, riesco a fare una query sul DB ma solo prendendo i dati da una sola tabella non riesco proprio a capire come fare ad associare l' id della "tabella_iscritti" a quelli della "tabella_dettaglio".
    Per l' output invece con fwrite ci sono riuscito
    Non puoi spostare le discussioni, va semplicemente nella sezione database ed aprine una nuova spiegando cosa hai e cosa vuoi fare.

  7. #7
    Ho provato a fare così e funziona:

    codice:
    // Create connection
    $conn = new mysqli($servername, $username, $password, $dbname);
    // Check connection
    if ($conn->connect_error) {
         die("Connection failed: " . $conn->connect_error);
    } 
    
    
    $sql = "SELECT i.emailaddress, d.openip FROM email_list_subscribers i, email_stats_emailopens d where i.subscriberid = d.subscriberid";
    $result = $conn->query($sql);
    
    
    if ($result->num_rows > 0) {
         // output data of each row
         while($row = $result->fetch_assoc()) {
             echo "<br> id: ". $row["subscriberid"]. " - Name: ". $row["emailaddress"]. " " . $row["openip"] . "<br>";
            
             fclose($file);
         }
    } else {
         echo "0 results";
    }
    
    
    $conn->close();
    ?>
    Poi ho provato a farlo scrivere su un file di testo, ma non funziona più

    codice:
    // Create connection
    $conn = new mysqli($servername, $username, $password, $dbname);
    // Check connection
    if ($conn->connect_error) {
         die("Connection failed: " . $conn->connect_error);
    } 
    
    
    $sql = "SELECT i.emailaddress, d.openip FROM email_list_subscribers i, email_stats_emailopens d where i.subscriberid = d.subscriberid";
    $result = $conn->query($sql);
    
    
    if ($result->num_rows > 0) {
         // output data of each row
         while($row = $result->fetch_assoc()) {
    			$file = fopen("test.txt");
    			echo fwrite($file,"<br> id: ". $row["subscriberid"]. " - Name: ". $row["emailaddress"]. " " . $row["openip"] . "<br>");
             fclose($file);
         }
    } else {
         echo "0 results";
    }
    
    
    $conn->close();
    ?>

  8. #8
    Non puoi mettere l'fclose() all'interno del while.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  9. #9
    Ho tolto fclose($file); ma non mi crea il file test.txt e se lo creo a mano comunque non ci scrive sopra

  10. #10
    Ho provato con questo codice


    ma mi registra solo l'ultimo utente sul file

    codice:
    // Create connection$conn = new mysqli($servername, $username, $password, $dbname);
    // Check connection
    if ($conn->connect_error) {
         die("Connection failed: " . $conn->connect_error);
    } 
    
    
    $sql = "SELECT i.emailaddress, d.openip FROM email_list_subscribers i, email_stats_emailopens d where i.subscriberid = d.subscriberid";
    $result = $conn->query($sql);
    
    
    if ($result->num_rows > 0) {
         // output data of each row
         while($row = $result->fetch_assoc()) {
    			$file = fopen("test8.txt", "w");
    			$utenti = "<br> id: ". $row["subscriberid"]. " - Name: ". $row["emailaddress"]. " " . $row["openip"] . "<br>";
    			echo fwrite($file,$utenti);
           
         }
    } else {
         echo "0 results";
    }
    fclose($file);

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.