Visualizzazione risultati 1 fino 7 di 7

Discussione: Dati che non vengono stampati a video

  1. #1
    L'avatar di silverseraph
    silverseraph non è connesso AlterGuru
    Data registrazione
    27-04-2005
    Residenza
    Localhost
    Messaggi
    1,104

    Predefinito Dati che non vengono stampati a video

    Ho un file dove prende i dati dal MySQL, dovrebbero stamparsi a video ma, non stampa nulla. Ho cercato per molto tempo l'errore ma non ho trovato nulla.

    Potreste aiutarmi? grazie

    Lo script è il seguente:
    Codice PHP:
    $catg = $_GET['catg'];

    include (
    "./includes/configure.php");

    $merc_page = 10;

    if ( isset(
    $_GET['page']) )
    $page = $_GET['page'];
    else
    $page = 1;
    $from_merc = ($page-1) * $merc_page;
    $to_merc = $page * $merc_page - 1;

    $query = "SELECT * FROM mercatino ORDER BY id DESC LIMIT $from_merc,$merc_page;";
    $risultato = mysql_query ($query, $connessione) or die ("Impossibile eseguire la query ".$query);

    $tot_merc = mysql_num_rows($risultato);
    $num_pages = ceil($tot_merc / $merc_page);

    $cx = 1;
    $cnt = mysql_num_rows($risultato);
    if (
    $cnt > 0 ) {
    for (
    $i = $from_merc; $i <= $to_merc && $i < $cnt; $i++ ) {
    $elemento = mysql_fetch_row ($risultato);
    if (
    $cx == 1)
    {
    $color = "#ffffff";
    $cx = 0;
    }
    else
    {
    $color = "#f1f1f1";
    $cx = 1;
    }
    list(
    $id,$nome,$titolo,$testo,$prezzo,$azione,$data,$provincia,$cat,$foto) = $elemento;
    if ( isset(
    $_GET['main']) && $_GET['catg'] == $cat && $_GET['main'] == $azione ) {
    ....
    }
    else if ( isset(
    $_GET['catg']) && !isset($_GET['main']) && $_GET['catg'] == $cat ) {
    ....
    }
    else
    $cx = !$cx;
    }
    }
    else {
    ....
    }
    for (
    $i = 1; $i <= $num_pages; $i++ ) {
    if (
    $i!=$_GET["page"] )
    if ( isset(
    $_GET['main']) ) {
    echo
    '<a class="white" href="vedi_tit_cat.php?catg="'. $_GET['catg'] .'"&amp;main="'. $_GET['main'] .'"&amp;page='. $i .'">';
    }
    else if ( isset(
    $_GET['catg']) ) {
    echo
    '<a class="white" href="vedi_tit_cat.php?catg="'. $_GET['catg'] .'"&amp;page='. $i .'">';
    }
    echo
    $i;
    if (
    $i != $_GET["page"] )
    echo
    "</a>";
    if (
    $i < $num_pages )
    echo
    " | ";
    }
    Ultima modifica di silverseraph : 13-06-2006 alle ore 13.45.33

  2. #2
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Se non ti vengono stampati nemmeno degli errori, molto probabilmente è perché la query non ti dà nessun risultato. E un motivo per sospettarlo c'è, ti ricordo che la sintassi della clausola LIMIT è una delle seguenti:
    - LIMIT numero_record per estrarre i primi numero_record record della query
    - LIMIT record_iniziale, numero_record per estrarre i primi numero_record record a partire dal numero record_iniziale (0 corrisponde al primo record)
    Dallo script sembra invece che tu vada a specificare il record iniziale e quello finale...

    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  3. #3
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Citazione Originalmente inviato da dementialsite
    Se non ti vengono stampati nemmeno degli errori, molto probabilmente è perché la query non ti dà nessun risultato. E un motivo per sospettarlo c'è, ti ricordo che la sintassi della clausola LIMIT è una delle seguenti:
    - LIMIT numero_record per estrarre i primi numero_record record della query
    - LIMIT record_iniziale, numero_record per estrarre i primi numero_record record a partire dal numero record_iniziale (0 corrisponde al primo record)
    Dallo script sembra invece che tu vada a specificare il record iniziale e quello finale...

    Stammi bene...
    Dallo script a me sembra che il record finale sia $to_merc, quindi non credo che il problema sia quello. Pià che altro sostituirei il ciclo for con un while.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  4. #4
    L'avatar di silverseraph
    silverseraph non è connesso AlterGuru
    Data registrazione
    27-04-2005
    Residenza
    Localhost
    Messaggi
    1,104

    Predefinito

    Modificando il LIMIT con 0,10 non stampa ugualmente nulla.
    Ho provato anche ad inserire un ciclo While come suggerito da Funcool ma come al solito non mi stampa nulla. Secondo me c'è un problema di fondo, magari qualche sciocchezza che però ancora non sono riuscito a trovare. Uso lo stesso identico metodo con un altro script e si vede tutto bene.
    A questo punto mi verrebbe da modificare la query in questo modo:
    SELECT * FROM mercatino ORDER BY id DESC; cioè nella maniera più semplice possibile, senza impostare alcun parametro per il limite.
    Oppure potrebbe dipendere dalle variabili che richiamo tramite metodo GET, che sarebbero $cat e $azione. A questo proposito potrei modificare la query in questo modo: SELECT * FROM mercatino ORDER BY id DESC WHERE cat='$catg' AND azione='$main' LIMIT 0,10; dove $catg = $_GET['catg']; e $main = $_GET['main']; che dite, potrebbe andare, quale soluzione mi suggerite?
    A questo punto non saprei più cosa fare... forse si potrebbe aggiungere un'altra query, ma sinceramente non ne vedo l'utilità e non vorrei utilizzare troppe queries.
    Grazie a tutti
    Ultima modifica di silverseraph : 13-06-2006 alle ore 18.50.43

  5. #5
    L'avatar di mythologia
    mythologia non è connesso Moderatore
    Data registrazione
    05-01-2004
    Messaggi
    2,614

    Predefinito

    Prova così:

    Codice PHP:
    $catg = $_GET['catg'];

    include (
    "./includes/configure.php");

    $merc_page = 10;

    if ( isset(
    $_GET['page']) )
    $page = $_GET['page'];
    else
    $page = 1;
    $from_merc = ($page-1) * $merc_page;
    $to_merc = $page * $merc_page - 1;

    $query = "SELECT * FROM mercatino ORDER BY id DESC LIMIT $from_merc,$merc_page;";
    $risultato = mysql_query ($query, $connessione) or die ("Impossibile eseguire la query ".$query);

    $cnt = mysql_num_rows($risultato);
    $num_pages = ceil($cnt / $merc_page);

    $cx = 1;

    if (
    $cnt > 0 ) {
    for (
    $i = $from_merc; $i <= $to_merc && $i < $cnt; $i++ ) {
    $elemento = mysql_fetch_row ($risultato);
    if (
    $cx == 1)
    {
    $color = "#ffffff";
    $cx = 0;
    }
    else
    {
    $color = "#f1f1f1";
    $cx = 1;
    }
    list(
    $id,$nome,$titolo,$testo,$prezzo,$azione,$dat a,$provincia,$cat,$foto) = $elemento;
    if ( isset(
    $_GET['main']) && $_GET['catg'] == $cat && $_GET['main'] == $azione ) {
    ....
    }
    else if ( isset(
    $_GET['catg']) && !isset($_GET['main']) && $_GET['catg'] == $cat ) {
    ....
    }
    else
    $cx = !$cx;
    }
    }
    else {
    ....
    }
    for (
    $i = 1; $i <= $num_pages; $i++ ) {
    if (
    $i!=$_GET["page"] )
    if ( isset(
    $_GET['main']) ) {
    echo
    '<a class="white" href="vedi_tit_cat.php?catg="'. $_GET['catg'] .'"&amp;main="'. $_GET['main'] .'"&amp;page='. $i .'">';
    }
    else if ( isset(
    $_GET['catg']) ) {
    echo
    '<a class="white" href="vedi_tit_cat.php?catg="'. $_GET['catg'] .'"&amp;page='. $i .'">';
    }
    echo
    $i;
    if (
    $i != $_GET["page"] )
    echo
    "</a>";
    if (
    $i < $num_pages )
    echo
    " | ";
    }
    Prova ora:
    hai chiamato due volte la funzione mysql_num_rows, così facendo svuotavi il valore della query

  6. #6
    L'avatar di silverseraph
    silverseraph non è connesso AlterGuru
    Data registrazione
    27-04-2005
    Residenza
    Localhost
    Messaggi
    1,104

    Predefinito

    Grazie mille per il consiglio Mythologia, non ci avevo mai pensato, comunque ho già risolto il problema da ieri, difatti, come pensavo, era un include di un menù che inserito in mezzo a quel codice creava problemi, visto che anche in quel menù viene effettuata una connessione al MySQL. Ormai si sa, i problemi che ci fanno perdere giornate intere son sempre i più semplici e stupidi!
    Grazie ancora a tutti per l'aiuto
    Ultima modifica di silverseraph : 14-06-2006 alle ore 08.30.51

  7. #7
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Visto che risolto, chiudo.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

Regole di scrittura

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