Visualizzazione risultati 1 fino 7 di 7

Discussione: leggere campo mysql in php

  1. #1
    Guest

    Predefinito [RISOLTO] leggere campo mysql in php

    Salve a tutti,
    ho girato molto in rete, ma non ho trovato nulla,
    il mio problema è questo,
    devo crearmi delle pagine in php che leggono direttamente i campi di una riga specifica,

    mi spiego meglio
    la pagina a deve fare riferimento alla riga 1, campo1
    poi nella stessa pagina ci sarà un'altro pezzo con il campo2, eccetera

    quindi la pagina b ci sarà la riga 2 campo1 e campo2
    e andando avanti così,
    come posso fare?
    Ultima modifica di allrail : 04-08-2016 alle ore 06.49.21

  2. #2
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    Crea un'unica pagina a cui passare (tramite GET o POST) la chiave primaria o l'indice della riga interessata.
    La pagina recupererà ciò di cui ha bisogno in base alla chiave/indice ricevuto.

  3. #3
    Guest

    Predefinito

    il db lo riempio io direttamente,
    a me serve leggere direttamente i campi

  4. #4
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    ...appunto .
    Per leggere i campi di una riga, hai bisogno di identificarla, tipicamente tramite la relativa chiave primaria o -se hai esigenze diverse- tramite il numero della riga. Passando tale valore ad una pagina (tramite GET, per esempio), la pagina potrà leggere la riga indicata.

    Data la chiave primaria, la lettura poi avverrà nel modo consueto:
    Codice PHP:
    $key = $_GET['row_key'];
    $query = "SELECT * FROM my_table WHERE id = '$key'";
    $result = mysqli_query($link, $query);
    ...

  5. #5
    Guest

    Predefinito

    questo è cosa compare a video
    Codice:
    Notice: Undefined index: row_key in C:\xampp\htdocs\allrail\varese-luino.php on line 5
    
    Notice: Undefined variable: link in C:\xampp\htdocs\allrail\varese-luino.php on line 7
    
    Warning: mysqli_query() expects parameter 1 to be mysqli, null given in C:\xampp\htdocs\allrail\varese-luino.php on line 8
    E
    questo è il codice
    Codice:
    <?php
    include("conn.php");
    ?>
    
    <?php
    $key = $_GET['row_key']; 
    $query = "SELECT * FROM linee WHERE id = '$key'";
    $result = mysqli_query($link, $query); 
    echo $query[1];
    
    ?>
    
    <?php
    include("close.php")
    ?>
    la connessione non da errori

    ho provato a mettere echo $query[n](al posto di n dei numeri consecutivi) ed è uscito SELECT *
    Ultima modifica di allrail : 03-08-2016 alle ore 22.05.13

  6. #6
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    Premesso che il mio era un codice di esempio, devi adattarlo in base alle tue necessità.
    Chiaramente non posso sapere come si chiamano la chiave primaria della tua tabella, quali API usi per la connessione (mysqli, PDO...) e gli altri dettagli implementativi noti solo a te .

    Ad ogni modo, riguardo agli errori che ti vengono mostrati:
    Notice: Undefined index: row_key in C:\xampp\htdocs\allrail\varese-luino.php on line 6
    Al posto di row_key devi usare il nome che intendi passare alla pagina per indicare la chiave primaria (o il numero di riga) della riga da leggere. Ad esempio, se la chiave primaria si chiama identifier, un esempio di URL per la chiamata alla pagina è: www.host/pagina.php?identifier=42, e la lettura della chiave primaria diventa dunque:
    Codice PHP:
    $id = $_GET['identifier'];

    Notice: Undefined variable: link in C:\xampp\htdocs\allrail\varese-luino.php on line 8
    Al posto di $link devi usare la variabile in cui mantieni la connessione (se stai usando mysqli procedurale), oppure l'oggetto che gestisce la connessione alla base di dati (se stai usando mysqli ad oggetti, o PDO), in quest'ultimo caso sostituendo le chiamate di funzione con invocazioni di metodi.


    Warning: mysqli_query() expects parameter 1 to be mysqli, null given in C:\xampp\htdocs\allrail\varese-luino.php on line 8
    Stesso motivo del precedente.


    E
    Con il codice echo $query[1]; stai stampando il carattere in posizione 1 della variabile $query (che è una stringa), quindi stai stampando il carattere 'E'.
    Dovrai usare funzioni come mysqli_fetch_assoc o fetch per poter leggere il risultato dopo l'interrogazione alla base di dati.


    Se hai dubbi prova anche a dare un'occhiata alla documentazione di mysqli, in particolare gli esempi per mysqli_query.

  7. #7
    Guest

    Predefinito

    grazie mzanella,
    alla fine sono riuscito a risolvere con un'altro codice,
    che posto qui sotto
    Codice:
    $a = mysql_query ("SELECT * FROM tua_tabella WHERE id = 1");
    $b = mysql_fetch_row($a);
    echo $b[0].$b[1].$b[2];

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •