Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    17

    [php] problema con array

    Vengo subito al problema: sto facendo un sito in html e php per l'esame e ho scritto una query che dal mio database dovrebbe prendere nome cognome e peso dei fantino di un cavallo scelto..

    ho provato la query in sql e funziona perfettamente.. il problema è che non riesco a inserire le variabili negli array in php!

    ho usato questo codice:


    "while ($row=mysqli_fetch_assoc($result))
    {
    $nome[]=$row['nome'];
    $cognome[]=$row['cognome'];
    $peso[]=$row['peso'];
    $tot=$row['tot'];
    }"

    il problema è che nei tre array mi inserisce solamente un valore.. in pratica io ho solamente nome[0], cognome[0] e peso [0], anche i fantini sono di piu.. dov'è l'errore?

  2. #2
    hai provato con fetch_array invece di fetch_assoc?

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    17
    si, stesso problema

  4. #4
    puoi postare la query sql?

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    17
    ecco, anzi ti posto tutto il file html



    $db="cavallo";
    $host="localhost";
    $password="mysql";
    $user="root";
    $conn=mysqli_connect($host,$user,$password,$db);

    //variabili

    $id=$_POST['id'];
    $tot=0;
    $nome=array();
    $cognome=array();
    $peso=array();

    //query sql

    $query="select f.nome, f.cognome, f.peso, count(f.idfantino) as tot
    from fantino as f, cavallo as c
    where f.idcavallo=c.idcavallo
    and c.idcavallo='$id'";

    $result=mysqli_query($conn,$query) or die("Errore query");

    //fecht

    while ($row=mysqli_fetch_array($result))
    {
    $nome[]=$row['nome'];
    $cognome[]=$row['cognome'];
    $peso[]=$row['peso'];
    $tot=$row['tot'];
    }


    echo "I fantini del cavallo sono $tot";
    echo "
    ";

    echo "<table border=1><tr><td>Nome</td><td>Cognome</td><td>Peso</td></tr>";


    $num = count($nome);
    echo "$num"; //da sempre come risultato 1


    //ciclo di stampa

    for($i=0;$i<$tot;$i++)
    {
    echo " <tr><td>$nome[$i]</td>
    <td>$cognome[$i]</td>
    <td>$peso[$i]</td></tr> ";
    }

    echo "</table>";

    mysqli_close($conn);

    ?>

  6. #6
    nel ciclo del while aggiungi dei print delle variabili prese da db, in questo modo puoi capire se il problema è nell'assegnazione del dato all'array o nella query sql

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    17
    no ma la query è giusta, l'ho provato con easy php e dalla gestione del database il risultato esce perfetto.. cioè se un cavallo ha tre fantini, esce la tabella con nome,cognome e peso dei 3 fantini..

  8. #8
    la query è identica a quella che hai lanciato con phpmyadmin?

  9. #9
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    17
    si si, ho fatto direttamente copia incolla

  10. #10
    prova nel ciclo while a fare una cosa, definisci un contatore pure li, prima del ciclo imposti il contatore a zero ed aumenti di uno per ogni ciclo, etc... in modo da vedere, mi sembra troppo strano

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.