Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    152

    Inserire ris query select in array - come fare

    Ciao ..
    Ho questa query :
    Codice PHP:
    $query "SELECT id FROM campo WHERE id>condizione";
    $result mysql_query($query$db);
    while (
    $row mysql_fetch_array($result)) 
    {
    echo 
    $row['id']." - ";
    }
    $max_num count($row);
    echo 
    $max_num
    Potreste spiegarmi il motivo per cui i risultati mi vengono stampati correttamente , ma $max_num mi restituisce il valore "1" ? I risultati in realtà son molti .
    Potreste darmi una soluzione per popolare l'array $row con tutti i risultati della query in modo poi da fare un controllo al suo interno ?
    Grazie mille !
    non so

  2. #2
    $max_num = count($row);

    poiche' estrai solo id, giustamente ti riferisce 1, perche' conti il numero di campi estratti.

    Forse vuoi contare il numero di righe? In questo caso dovevi utilizzare mysql_num_rows...


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    152
    In pratica vorrei che tutti i risultati siano nell'array e questo non accade .. c'è un motivo ?
    non so

  4. #4
    [supersaibal]Originariamente inviato da cisi
    In pratica vorrei che tutti i risultati siano nell'array e questo non accade .. c'è un motivo ? [/supersaibal]
    allora stai cannando alla grande.

    tu vuoi creare una lista (un array) con tutti gli id che estrai quindi:


    Codice PHP:
    $query "SELECT id FROM campo WHERE id>condizione";
    $result mysql_query($query$db);
    while (
    $row mysql_fetch_array($result)) 
    {
    echo 
    $row['id']." - ";
    }
    $max_num[] = $row['id'];

    echo 
    count($max_num);

    //per vedere tutti gli ID usa un foreach
    print_f($max_num); 

  5. #5
    oppure:

    $query = "SELECT id FROM campo WHERE id>condizione";
    $result = mysql_query($query, $db);
    $numero = mysql_num_rows($result);

    echo "Ho trovato $numero record";

    $array=Array();
    $max=0;
    for($i=0;$i<$num;$i++)
    {
    $id=mysql_result($result,$i,"id");
    $array[$i]=$id;
    echo "$array[$i]
    ";
    }

    for($i=0;$i<$num;$i++)
    {
    if($array[$i]>$max)
    $max=$array[$i];
    }

    echo $max;

    --------------------------------------------

    se devi solo trovare il max nn serve creare un array, basta fare:

    $query = "SELECT id FROM campo WHERE id>condizione";
    $result = mysql_query($query, $db);
    $numero = mysql_num_rows($result);

    echo "Ho trovato $numero record";

    $max=0;
    for($i=0;$i<$num;$i++)
    {
    $id=mysql_result($result,$i,"id");
    if($id>$max)
    $max=$id;
    }

    echo $max;


  6. #6
    a dire il vero penso che sarebbe ancora meglio usare la funzione MAX() di mysql

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.