Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    Problema con questa QUERY!!!

    Ciao ragazzi, sto impazzendo con una query maledetta!!!!
    Allora vi spiego il problema molto rapidamente, ho 2 tabelle (MYSQL):

    Tabella 1 : gallery

    __________________________________________

    id | nome_img |commento | id_categoria
    __________________________________________


    Tabella 2: categoria
    __________________________________________

    id | titolo | directory | link_scheda
    __________________________________________

    queste due tabelle sono relazionate e dopo aver fatto la query estraggo dalla tabella gallery i record nome_img e id , mentre dalla tabella categoria estraggo i record directory e titolo. La query è la seguente:
    ______________________________________

    // Query per l'estrazione dei dati da Db
    $query = "SELECT gallery.id, gallery.nome_img, gallery.commento AS categoria, categoria.titolo, categoria.dir, categoria.link_scheda FROM gallery, categoria ORDER BY gallery.id asc LIMIT $start,$step";
    $result = mysql_query($query, $db);

    echo"<table width=\"400\" border=\"2\" cellspacing=\"5\" cellpadding=\"0\">\n";
    $contatore=0;
    while ($row = mysql_fetch_array($result)){
    if($contatore == 0){
    // apro una nuova riga
    echo"<tr>\n";
    }
    // incremento il contatore

    echo"<td><a href=\"prova.php?id=$row[id]\"><img src=\"../immagini/$row[directory]/$row[nome_img].jpg\" alt=\"$row[titolo]\" width=\"100\" height=\"80\" border=\"0\"></a></td>\n";
    $contatore++;
    if($contatore == 4){
    // chiudo la riga
    echo"</tr>\n";
    // e azzero il contatore
    $contatore =0;
    }
    }
    echo"</table>\n";
    ______________________________________

    Io vorrei visualizzare, in ogni cella della tabella, una foto che viene estratta dal record gallery. La query mi funziona, ma non funziona come dico io perchè viene stampata una sola immagine per directory, mentre io vorrei che venissero stampate tutte le immagini (contenute in gallery) in ordine crescente di id.

    Come potete notare, le immagini sono suddivise in varie categorie, ogni categoria è contenuta in una determinata cartella, il cui nome è dato dal record directory presente nella tabella categoria.

    Avete capito????

    potete dare uno sguardo alla query e cercare di capire perchè non vengono stampate tutte le immagini in ordine crescente di id???
    grazie e ciao

  2. #2
    non vedo la relazione tra le due tabelle...

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

  3. #3
    Provo a spiegarmi meglio:

    Io ho alcune immagini, che sono divise per categoria, cioè ad esempio supponiamo che l'immagini siano di animali. Allora in questo caso io avrò una cartella principale, chiamata IMMAGINI , all'interno di questa cartella avrò altre cartelle che contengono l'immagini. Esempio:

    Cartella IMMAGINI ==> Cani ; Gatti ; Uccelli ; Pesci.

    Dove le cartelle CANI, GAtti, ecc sono le sottocartelle che contengono l'immagini. Allora io mediante alle due Tabelle precedenti:

    Tabella 1 : gallery

    ________________________________________

    id | nome_img |commento | id_categoria
    ________________________________________


    Tabella 2: categoria

    ________________________________________

    id | titolo | directory | link_scheda
    ________________________________________

    Nella Tabella gallery, sono riportate tutte le informazioni riguardanti le immagini come ad esempio il nome dell'immagine (nome_img ). Mentre la tabella categoria individua la categoria a cui appartiene una singola immagine, in particolare è specificato anche il nome della cartella (directory ) che contiene una determinata categoria di immagini. Allora per relazionare le due tabelle io ho usato ID della tabella categoria e il record ID_cattegoria presente nella tabella gallery.

    In questo modo tutte le immagini, della tabella gallery, che presentano un ID_categoria=ID della tabella categoria, appartengono ad una determinata categoria che è stata prefisatta mediante la tabella categoria.
    Allora il mio problema è questo:

    Io devo estrarre tutte le immagini, dalla tabella gallery, e poi visualizzarle in una semplice tabella HTML costituita da 5 righe e 4 colonne. Cioè io dovrei visualizzare un anteprima di ogni immagine, queste anteprime dovranno essere visualizzate 4 per righa e per un totale di 5 righe. Quindi una tabella formata da 4 colonne e 5 righe.

    Per fare ciò ho bisogno di una query, che mi relazioni le tabella gallery e categoria, poichè la prima contiene il nome dell'immagine (nome_img ) e la seconda contiene il nome della cartella (directory ) in cui è contenuta l'immagine. Le immagini estratte dal Db e successivamente visualizzate, devono essere disposte in ordine crescente di ID della tabella gallery!!!

    Credo che ora è molto più chiaro, la mia spiegazione precedente faceva un pò schifo.


    Qualcuno mi dice dove è che sbaglio nella query precedente???

    Sono due giorni che ci sbatto, ma non ci riesco!!!!

  4. #4
    oddio che zibaldone che hai fatto...
    "Due cose riempiono l’animo di ammirazione e venerazione sempre nuova e crescente, quanto piú spesso e piú a lungo la riflessione si occupa di esse: il cielo stellato sopra di me, e la legge morale in me..." Immanuel Kant

  5. #5

  6. #6
    codice:
    $query = "SELECT g.id, g.nome_img, g.commento AS categoria,
    c.titolo, c.dir, c.link_scheda
    FROM gallery g, categoria c
    where g.id_categoria = c.id 
    ORDER BY g.id asc
    LIMIT $start,$step";


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

  7. #7
    mi hai anticipato di un paio di secondi piero!
    "Due cose riempiono l’animo di ammirazione e venerazione sempre nuova e crescente, quanto piú spesso e piú a lungo la riflessione si occupa di esse: il cielo stellato sopra di me, e la legge morale in me..." Immanuel Kant

  8. #8
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\programmi\apache ........
    on line 87


    La riga 87 è questa:

    while ($row = mysql_fetch_array($result)){

    perchè c'è questo errore e cosa vuol dire???

  9. #9
    [supersaibal]Originariamente inviato da spiadadda
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\programmi\apache ........
    on line 87


    La riga 87 è questa:

    while ($row = mysql_fetch_array($result)){

    perchè c'è questo errore e cosa vuol dire??? [/supersaibal]
    Metti la segnalazione di allarme....

    $result = mysql_query($query, $db) or die (mysql_error());

    tieni presente che devi adeguare la query ai tuoi campi. Un copia e incollapotrebbe risultare troppo ottimista.

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

  10. #10
    Finalmenteeeeeeeeeee!!!!!!!!!!! grazie mille ora funziona bene!!!

    Avrei un altro problema: devo realizzare i tasti avanti e dietro, per poter visualizzare le immagini successive e precedenti. Allora per fare ciò io uso il seguente codice:
    Tasto Indietro
    <?
    if ($start>0)
    { $start_back = $start - $step;
    echo "<span class=\"txt_12arancio\">&lt;&lt;</span>Indietro";
    }
    ?>

    Conto le righe della tabella gallery

    <?
    $query= "SELECT count(*) AS tot FROM gallery WHERE id='$id'";
    $result = mysql_query($query, $db);
    $row = mysql_fetch_array($result);
    $pages = intval(($row[tot]-1) / $step)+1;
    ?>

    Tasto Avanti
    <?php
    if ($start + $step <$row[tot])
    { $start_next = $start + $step;
    echo "Avanti<span class=\"txt_12arancio\">&gt;&gt;</span>";
    }
    ?>

    Purtroppo non funziona e mi da un errore ad due righe, le quali sono:
    $result = mysql_query($query, $db);
    $row = mysql_fetch_array($result);

    Dove ho sbagiato???? Se trovate l'errore potete anche spiegare il perchè almeno imparo e così evito di commetterlo ancora

    Ciao Ciao

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.