• User

    è colpa di mysql_fetch_array ?

    Ciao a tutti, verrò subito al dunque. Ho due richiami alla stessa tabella con la stessa query in parti differenti del sito. In locale vengono visualizzate entrambe bene, online se ne vede solo una e l'altra non da errore ma non compare nulla.

    Questa è la parte che viene visualizzata sempre.

    <div class="boxcode">[PHP]
    $getlist = mysql_query("SELECT id_category, name_{$lang} FROM category ORDER BY name_{$lang} desc");

    for ($i = mysql_num_rows($getlist) - 1; $i >= 0; $i--) {
    if (!mysql_data_seek($getlist, $i)) {
    echo "Cannot seek to row $i\n";
    continue;
    }
    if(!($row = mysql_fetch_object($getlist)))
    continue;
    else {
    $idcat= $row->id_category;

    if ($lang=="it") {
    echo "$row->name_it <br />\n";
    } elseif ($lang=="en") {
    echo "$row->name_en <br />\n";
    } elseif ($lang=="se") {
    echo "$row->name_se <br />\n";
    } elseif ($lang=="ru") {
    echo "$row->name_ru <br />\n";
    }
    [/PHP]

    Questa invece solo in locale (è all'interno di un <select> )

    [PHP]
    $q = "SELECT id_category, name_{$SESSION['lang']} FROM category ORDER BY name{$_SESSION['lang']} desc";

    $r = mysql_query ( $q ); 
    while ( $w = ( mysql_fetch_array ( $r ) ) ) { 
        if ($categoria==0){ 
            print "<option value='" . $w['id_category'] . "'" . ( $w['id_category'] == $_SESSION['categoria'] ? " selected" : "" ) . ">" . $w['name_'.$_SESSION['lang']] . "</option>"; 
        }else{ 
        print "<option value=''" . ( $w['id_category'] == $categoria ? " selected" : "" ) . ">" . $w['name_'.$_SESSION['lang']] . "</option>"; 
         
        } 
    }
    

    [/PHP]

    Dove sbaglio?
    L'unica differenza che ho notato è che uno utilizza mysql_fetch_object e l'altro mysql_fetch_array, dipenderà da questo? E se si come posso migliorarlo?

    Spero che qualcuno mi sia d'aiuto.

    Ciao.


  • User

    Ho risolto. Il problema era solo della variabile di sessione lang che non passava nulla e la query non girava.