• User Attivo

    Risultati MySql query su più colonne di una tabella

    Salve a tutti, spero possiate aiutarmi 🙂
    Seleziono una serie di dati da un db, però nella pagina php dove devono essere visualizzati avrei bisogno di non farli apparire in un'unica lunga colonna.
    Ho inserito delle tabelle, ma come faccio a dirgli ' mettine 4 nella prima tabella, 4 nella seconda, ecc.. ' ( tanto per fare un esempio..)
    Non posso basarmi sugli ID perchè i dati verranno aggiornati spesso.. Non so davvero come fare 😞
    Sto cercando invano sui manuali da ore.. vi sarò grata se mi darete una mano 🙂


  • User Attivo

    Ciao,
    un modo potrebbe esser questo:

    [PHP]
    $query="SELECT * FROM tabella";
    $result=mysql_query($query);

    echo "<table>\n";
    $i=0;
    while ($res=mysql_fetch_assoc($result))
    {
    if ($i++%4==0) echo "<tr>\n";
    echo "<td>".$res['dato']."</td>\n";
    if ($i%4==0) echo "</tr>\n";
    }
    if ($i%4)
    {
    while ($i++%4!=0) echo "<td> </td>\n";
    echo "</tr>\n";
    }
    echo "</table>\n";
    [/PHP]

    Alessandro


  • User Attivo

    Ci provo. 🙂


  • User Attivo

    [php] <? echo "<table>\n";
    $i=0;
    while ($res=mysql_fetch_assoc($result))
    {
    if ($i++%4==0) echo "<tr>\n";
    echo "<td>".<a href= "<?php echo $res['fotobig'] ?>" title="<?php echo $res['nome'] ?>" class="bwGal"><img src="<?php echo $res['fotouno'] ?>" class="instant ishadow50 itiltrigth icolorD8A4F8"></a>."</td>\n";
    echo "<td>".$res['nome']."</td>\n";
    echo "<td>".$res['prezzo']."</td>\n";
    if ($i%4==0) echo "</tr>\n";
    }
    if ($i%4)
    {
    while ($i++%4!=0) echo "<td> </td>\n";
    echo "</tr>\n";
    }
    echo "</table>\n"; ?>[/php]
    Mi da questo errore:

    Parse error: syntax error, unexpected '<' in sacco.php on line 79

    Aiuto!


  • User Attivo

    Ho provato anche così:

    [php] <? echo "<table>\n";
    $i=0;
    $foto= <a href="<?php echo $res['fotobig'] ?>" title="<?php echo $res['nome'] ?>" class="bwGal"><img src="<?php echo $res['fotouno'] ?>" class="instant ishadow50 itiltrigth icolorD8A4F8"></a>;
    while ($res=mysql_fetch_assoc($result))
    {
    if ($i++%4==0) echo "<tr>\n";
    echo "<td>".$foto."</td>\n";
    echo "<td>".$res['nome']."</td>\n";
    echo "<td>".$res['prezzo']."</td>\n";
    if ($i%4==0) echo "</tr>\n";
    }
    if ($i%4)
    {
    while ($i++%4!=0) echo "<td> </td>\n";
    echo "</tr>\n";
    }
    echo "</table>\n"; ?>[/php]Ma mi da lo stesso errore. 😞


  • User Attivo

    Ti da errore perchè il codice del link
    [PHP]
    echo "<td>".<a href= "<?php echo $res['fotobig'] ?>" title="<?php echo $res['nome'] ?>" class="bwGal"><img src="<?php echo $res['fotouno'] ?>" class="instant ishadow50 itiltrigth icolorD8A4F8"></a>."</td>\n";
    [/PHP]
    è errato. Il codice html o lo metti come testo, quindi tra apici o vigolette, oppure fuori dai tag php:
    [PHP]
    echo "<td>";
    ?>
    <a href= "<?php echo $res['fotobig'] ?>" title="<?php echo $res['nome'] ?>" class="bwGal"><img src="<?php echo $res['fotouno'] ?>" class="instant ishadow50 itiltrigth icolorD8A4F8"></a>
    <?php echo "</td>\n";
    [/PHP]


  • User Attivo

    Grazie, ora vedo che riesco a combinare. 🙂


  • User Attivo

    @Magicale said:

    Ti da errore perchè il codice del link
    [php]
    echo "<td>".<a href= "<?php echo $res['fotobig'] ?>" title="<?php echo $res['nome'] ?>" class="bwGal"><img src="<?php echo $res['fotouno'] ?>" class="instant ishadow50 itiltrigth icolorD8A4F8"></a>."</td>\n";
    [/php]è errato. Il codice html o lo metti come testo, quindi tra apici o vigolette, oppure fuori dai tag php:
    [php]
    echo "<td>";
    ?>
    <a href= "<?php echo $res['fotobig'] ?>" title="<?php echo $res['nome'] ?>" class="bwGal"><img src="<?php echo $res['fotouno'] ?>" class="instant ishadow50 itiltrigth icolorD8A4F8"></a>
    <?php echo "</td>\n";
    [/php]

    Ma a me quell'url serve che appaia nel td.. come faccio? Se ci metto le virgolette o gli apici mi da sempre quell'errore...


  • User Attivo

    Aspeta, scusa, questo l'ho capito e va bene, però sorge un altro problema, fai conto di otto risultati che ci dovrebbero essere me ne appaiono solo due su due colonne.. e tutti gli altri?
    Non ci sto capendo nulla.. si era intuito?
    Abbi pazienza...


  • User Attivo

    Il codice che uso adesso, che mi fa apparire solo due risultati, è questo:

    [php] $result=mysql_query($query) or die("Select Failed - collezione");
    ?>
    <br /><br /><br /><? echo "<table>\n";
    $i=0;
    while ($res=mysql_fetch_assoc($result))
    {
    if ($i++%4==0) echo "<tr>\n";
    echo "<td>";
    ?>
    <a href= "<?php echo $res['fotobig'] ?>" title="<?php echo $res['nome'] ?>" class="bwGal"><img src="<?php echo $res['fotouno'] ?>" class="instant ishadow50 itiltrigth icolorD8A4F8"></a><?php echo "</td>\n";

    echo "<td>".$res['nome']."</td>\n";
    echo "<td>".$res['prezzo']."</td>\n";
    if ($i%4==0) echo "</tr>\n";
    }
    if ($i%4) echo "<tr>\n";
    {
    while ($i++%4!=0) echo "<td>";
    ?>
    <a href= "<?php echo $res['fotobig'] ?>" title="<?php echo $res['nome'] ?>" class="bwGal"><img src="<?php echo $res['fotouno'] ?>" class="instant ishadow50 itiltrigth icolorD8A4F8"></a><?php echo "</td>\n";

    echo "<td>".$res['nome']."</td>\n";
    echo "<td>".$res['prezzo']."</td>\n";
    echo "</tr>\n";
    }
    echo "</table>\n"; ?> [/php]Che cosa sto sbagliando?
    Nella pagina sotto alla prima colonna della table , mi appare solo un quadratino con una x..


  • User Attivo

    Grazie mille, alla fine ho capito come funzionava e risolto tutto, mi sei stato di grande aiuto e scusa per gli sos inutili dovuti, credo, alla stanchezza 🙂