• Bannato User

    Prelevare dati dal database e disporli in tabelle 3 x 2

    Ciao ragazzi!

    Ho un problema che non riesco a risolvere.

    Vorrei prelevare dei dati dal database e avere la possibilità di elencarli in tabelle 3 x 2

    Ho provato a ricercare guide ma nessuna affronta questo problema.
    I dati richiamati vendono sempre disposti uno sull'altro.

    Qualcuno mi sa dire che tipo di connessione devo fare e come faccio a disporre i dati prelevati in tabelle 3 x 2?


  • User Newbie

    anch'io ho lo stesso problema in pratica esempio : ho dei risultati 1 2 3 4 5 6
    riesco a stamparli a video o in verticale:
    1
    2
    3
    4
    5
    6
    o in orizontale :
    123456

    io vorrei sistemari in 2 colonne di una tabella in questo modo

    1 2
    3 4
    5 6

    solo pur creando la tabella e le 2 colonne non riesco a spostare la stampa alternativamente da una colonna all'altra. please mi urge aiuto


  • Bannato User

    speriamo che qualche volenteroso ci dia una mano..


  • User Newbie

    io in pratica sto creando un catalogo articoli ogni articolo ha un immagine un codice articolo ed un prezzo ho racchiuso tutto in una tabella creando cosi un modulo che si ripete per ogni aricolo e fino a qui tutto va una meraviglia mi stampa a video tutti i moduli degli articoli, il problema e che me li stampa o tutti i moduli o in orizontale o in verticale e a me serve che mi stampi 2 moduli per riga ossia su 2 colonne.... tipo come quando in una tabella madre si pigia il tasto tab e si va nella colonna accanto... help!


  • User Newbie

    questo e' il codice che mi stampa tutti i modulini in verticale se qualcuno puo aiutarmi:

    <?
    include("top_foot.inc.php");
    include("config.inc.php");
    top();

    $db = mysql_connect($server, $username, $password);
    if ($db == FALSE)
    die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
    mysql_select_db($database, $db)
    or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");
    $query = "SELECT nomearticolo, descrizione, urlimmagine, id FROM immagini ORDER BY nomearticolo ";
    $risultato=mysql_query($query,$db) or die ("Errore nella query:" . mysql_error());

    while(

    $riga=mysql_fetch_array($risultato)
    )
    {
    echo "<table align= center border="1" width= 300 height= 300 >";

    echo "<tr>";
    echo "<td>";

    echo "<img border= 3 src="/catalogo/$riga[urlimmagine]" width= 200 height= 200 /> \n";
    echo "</td>";

    echo "<td>";
    echo "<b>art :</b><a> $riga[nomearticolo]</a> \n \n \n";
    echo "</td>";

        echo "<td>";
                echo "<b>descrizione:</b><br><a>$riga[descrizione]</a>";
        echo "</td>";        
        echo "</tr>";    
        echo "</table>";
        echo "</td>";
        echo "<td>";
       
        
        }   
        
        foot();
        mysql_close($db);
        ?>

  • User Newbie

    ORA RIESCO A STAMPARE LE DUE COLONNE MA NON PASSA AL RECORD SUCCESSIVO 😞
    :arrabbiato: STAMPA SOLO IL PRIMO RECORD IN ENTRAMBE LE COLONNE

    <?
    include("top_foot.inc.php");
    include("config.inc.php");
    top();
    $db = mysql_connect($server, $username, $password);
    if ($db == FALSE)
    die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
    mysql_select_db($database, $db)
    or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");
    // effettui la query
    $query = "SELECT nomearticolo, descrizione, urlimmagine, id FROM immagini ORDER BY nomearticolo ";

    $risultato=mysql_query($query,$db) or die ("Errore nella query:" . mysql_error());

    while($riga=mysql_fetch_array($risultato))

    {

    // calcoli il numero delle righe che avra la tabella
    @$nRighe = (int) mysql_num_rows($risultato)/2 ;

    echo @$nRighe;
    // stampi il tag table
    echo "<table>";
    for ( $i=0; $i < $nRighe; $i++ ) {
    // associ una righa
    $row = mysql_fetch_array($risultato);
    // stampi il tag di righa
    echo "<tr>";
    // stampi la prima colonna della righa quindi
    echo "<th>";

    echo "<img border= 3 src="/catalogo/$riga[urlimmagine]" width= 200 height= 200 /> \n";
    echo "</td>";

      // chiudo la prima colonna   
      echo "</th>";
      
         // associ la seconda righa 
          $row = mysql_fetch_array($risultato); 
          
      // stampi la seconda colonna della righa quindi 
         echo "<th>";
    

    echo "<td>";

    echo "<img border= 3 src="/catalogo/$riga[urlimmagine]" width= 200 height= 200 /> \n";
    echo "</td>";

       // chiudi la riga 
         echo "</tr>"; 
    

    }
    // chiudi la tabella
    echo "</table>";
    }

        foot();
        mysql_close($db);
        ?>

  • User Newbie

    ecco la soluzione
    codice php:

    <?
    include("top_foot.inc.php");
    include("config.inc.php");
    top();
    $db = mysql_connect($server, $username, $password);
    if ($db == FALSE)
    die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
    mysql_select_db($database, $db)
    or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");
    // effettui la query
    $query = "SELECT nomearticolo, descrizione, urlimmagine, id FROM immagini ORDER BY nomearticolo ";
    $risultato=mysql_query($query,$db) or die ("Errore nella query:" . mysql_error());

    // NO
    // while($riga=mysql_fetch_array($risultato))
    //{

    // calcoli il numero delle righe che avra la tabella
    @$nRighe = (int) mysql_num_rows($risultato)/2 ;

    echo @$nRighe;
    // stampi il tag table
    echo "<table align= center border="1" width= 300 height= 300 >";
    for ( $i=0; $i < $nRighe; $i++ ) {
    // associ una righa
    $row = mysql_fetch_array($risultato);
    // stampi il tag di righa
    echo "<tr>";
    // stampi la prima colonna della righa quindi
    echo "<td>";
    echo "<img border= 3 src="/catalogo/$row[urlimmagine]" width= 200 height= 200 /> \n";

    echo "<b>art :</b><a> $row[nomearticolo]</a> \n \n \n";
    echo "<b>descrizione:</b><br><a>$row[descrizione]</a>";
    echo "</td>";

    // associ la seconda righa
    $row = mysql_fetch_array($risultato);
    // stampi la seconda colonna
    echo "<td>";
    echo "<img border= 3 src="/catalogo/$row[urlimmagine]" width= 200 height= 200 /> \n";
    echo "<b>art :</b><a> $row[nomearticolo]</a> \n \n \n";
    echo "<b>descrizione:</b><br><a>$row[descrizione]</a>";
    echo "</td>";
    // chiudi la riga
    echo "</tr>";
    }
    // chiudi la tabella
    echo "</table>";

    foot();
    mysql_close($db);
    ?>


  • Bannato User

    @blue_devil said:

    ecco la soluzione

    Ciao e grazie! Questo script mi sarà utilissimo per migliorare il mio sito

    C'è un piccolo problema però... ovvero vengono mostrati tutti gli elementi contenuti nel database in una solo pagina. Quindi se nel database ci sono 100 elementi vi saranno 2 colonne e 50 righe (un pò troppo per una sola pagina)

    Se riesci a trovare una soluzione per dividere in più pagine fammi sapere. (ovviamente lo stesso vale anche per me)

    Ciao e grazie ancora...


  • User Newbie

    imposta un limt come condizione degli articoli da estrarre tipo limt 0,20
    cosi che partira dal record 0 e si fermera al 20 se a 0 sostiusci una variabile $parti_da puoi impaginare il tutto.
    come hai visto $row ti conta i record totali quindi se sono 50 li dividi e ti crei un indice a fondo pagina che imposterai con il metodo get che reinviera alla stessa pagina una variabile $parti_da:ciauz:


  • Bannato User

    purtroppo non sono molto esperto...
    Mi ci vorrà un bel pò per capire.

    Grazie ancora...


  • User

    ragazzi...mah....:? :mmm: :mmm: ...questo codice l'ho gia visto da qualche altra parte...:? :mmm: ...ma da dove l'hai preso blue_devil???:D 😉 :figo:


  • User Newbie

    hei nico!! :ciauz: il codice lo conosci bene perche' sei stato tu a spigegarmelo (cosa molto difficile solitamente vista la mia ottusangolità hahahahaha) grazie mille ancora nicodj:ciauz:

    PS sto ultimando un catalogo prodotti con visualizzazione delle immagini ridimensionate in automatico e con controllo in upload immagini articolo, categorie dinamiche create in fase di inserimento articolo e note di categoria a fine pagina di ogni categoria ordinate per indice, con registrazione utenti e abilitazione degli stessi pannello amministrativo per la gestione del tutto. il lato catalogo e amministrativo dello stesso e' ultimato devo sistemare solo una sciocchezza sulle note. appena ho fatto posto i vari codici cosi' magari mi dite le cose che non ho fatto in modo corretto anche se funzionanti. Ciauz


  • User

    🙂 🙂 ...cmq ok..io sno quan..oppure di la..:) 🙂 ..:ciauz: :ciauz:


  • User

    ciao..allora per visualizzarne un numero finito per pagina devi utilizzare la clausula LIMIT nella query..ad esempio :

    SELECT * FROM tabella WHERE qualcosa LIMIT 0,10

    se vuoi proprio sapere come fare per far comparire il numero di pagine...ecco..la funzione allegata fa al caso tuo..ma se vuoi un cosiglio capisci cosa e come lo fa, e poi fanne una tua..altrimenti nn imparerai mai..:ciauz: :ciauz: