Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    216

    Php... non scende di record?

    mi spiego:
    in poche parole ho creato un recordset da dove estrago un campo in particolare
    quesco campo (che si chiama percorso) lo devo mettere dentro una tabella in questo modo:
    codice:
    <table width="200" border="1">
    <?php do { ?>
    <tr>
    <td><?php echo $row_foto['percorso']; ?></td>
    <td><?php echo $row_foto['percorso']; ?></td>
    <td><?php echo $row_foto['percorso']; ?></td>
    <td><?php echo $row_foto['percorso']; ?></td>
    <td><?php echo $row_foto['percorso']; ?></td>
    <td><?php echo $row_foto['percorso']; ?></td>
    </tr>
    <?php } while ($row_foto = mysql_fetch_assoc($foto)); ?>
    </table>
    quindi dovra essere una tabella co una riga e 6 colonne il punto è che non riesco a far andare il puntatore al record successivo quinti tutta la riga ha lo stesso percorso.
    come posso fare???

    per completezza posto anche il RECORDSET:
    codice:
    <?php
    if (!function_exists("GetSQLValueString")) {
    function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
    {
    if (PHP_VERSION < 6) {
    $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
    }
    
    $theValue = function_exists("mysql_real_escape_strin… ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
    
    switch ($theType) {
    case "text":
    $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
    break;
    case "long":
    case "int":
    $theValue = ($theValue != "") ? intval($theValue) : "NULL";
    break;
    case "double":
    $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
    break;
    case "date":
    $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
    break;
    case "defined":
    $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
    break;
    }
    return $theValue;
    }
    }
    
    $idfoto_foto = "-1";
    if (isset($_GET['id'])) {
    $idfoto_foto = $_GET['id'];
    }
    mysql_select_db($database_gallery, $gallery);
    $query_foto = sprintf("SELECT * FROM foto WHERE id = %s", GetSQLValueString($idfoto_foto, "int"));
    $foto = mysql_query($query_foto, $gallery) or die(mysql_error());
    $row_foto = mysql_fetch_assoc($foto);
    $totalRows_foto = mysql_num_rows($foto);
    ?>
    o provato anche così:
    codice:
    <table width="200" border="1">
    <?php do { ?>
    <tr>
    <td><?php echo $row_photo['percorso']; mysql_fetch_assoc($photo)++;?></td>
    <td><?php echo $row_photo['percorso']; mysql_fetch_assoc($photo)++;?></td>
    <td><?php echo $row_photo['percorso'];mysql_fetch_assoc($photo)++;?></td>
    <td><?php echo $row_photo['percorso']; mysql_fetch_assoc($photo)++;?></td>
    <td><?php echo $row_photo['percorso'];mysql_fetch_assoc($photo)++;?></td>
    <td><?php echo $row_photo['percorso']; mysql_fetch_assoc($photo)++;?></td>
    </tr>
    <?php } while ($row_photo = mysql_fetch_assoc($photo)); ?>
    </table>
    Server utilizzato: MySQL


    (cit.)
    Un misto tra pazzia ed intelligenza

  2. #2
    Ciao, perché do...while????

    Fai così:

    Codice PHP:

    <?PHP
    echo '<tr>';
    while (
    $row_foto mysql_fetch_assoc($foto)) 
    {
    echo 
    '<td>';
    echo 
    $row_foto['percorso'];
    echo 
    '</td>';
    }
    echo 
    '</tr>';
    ?>

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    216
    buono ma cosi mi perde il primo record....

    mmm...e se provo con un for?

    ad es:
    Codice PHP:
    <?PHP
    echo '<tr>';
    for(
    $row_foto=0$row_foto mysql_fetch_assoc($foto);$row_foto++) 
    {
    echo 
    '<td>';
    echo 
    $row_foto['percorso'];
    echo 
    '</td>';
    }
    echo 
    '</tr>';
    ?>
    che ne dici???
    Server utilizzato: MySQL


    (cit.)
    Un misto tra pazzia ed intelligenza

  4. #4
    Originariamente inviato da rare
    buono ma cosi mi perde il primo record....
    Probabilmente perchè hai lasciato un mysql_fetch_assoc($foto) perima del while.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  5. #5
    Originariamente inviato da rare
    buono ma cosi mi perde il primo record....
    mmm...e se provo con un for?
    che ne dici???
    ehm ... il while è il metodo consolidato per leggere un recordset da DB,
    implementato in migliaia e migliaia di script!!!
    Non l'ho certo inventato io

    Se ti perdi un record è perché - come dice Satifal - ti sarai dimenticato un mysql_fetch_assoc($foto) da qualche parte
    che ti puppa il primo record

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    216
    perfetto grazie mille...
    però così facendo se ho 30 record mi crea 1 riga con 30 colonne invece mi serve una tabella a 6 colonne e tante righe quante ne servono per stampare tutti i 30 record....

    corregetemi se erro:
    io farei una costante = 6 e finchè è un'altra variabile è < costante stampa su quella riga altrimenti crea un'altra riga e la variabile = 0.

    il mio problema è:
    1- non so se è giusto il ragionamento
    2- a livello di sintassi non saprei come fare

    mi date una mano per favore??

    vi ringrazio ancora per prima
    Server utilizzato: MySQL


    (cit.)
    Un misto tra pazzia ed intelligenza

  7. #7
    Originariamente inviato da rare


    corregetemi se erro:
    io farei una costante = 6 e finchè è un'altra variabile è < costante stampa su quella riga altrimenti crea un'altra riga e la variabile = 0.
    ...corretto...

    per il codice:

    Codice PHP:
    <?PHP
    $count
    =0;

    while (
    $row_foto mysql_fetch_assoc($foto)) 
    {
    if ((
    $count 6) ==0) echo '<tr>';
    echo 
    '<td>';
    echo 
    $row_foto['percorso'];
    echo 
    '</td>';
    if ((
    $count 6) ==0)  echo '</tr>';
    $count++;
    }
    ?>
    occhio che son di corsa e non l'ho controllato ma dovrebbe essere ok...

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    216
    mmm...no non va!
    va a capo prima del sesto record....
    mmm...e se lo faccio con un do while???

    ad esempio:
    Codice PHP:
    $count =0;
    while (
    $row_foto mysql_fetch_assoc($foto)) 
    {
    do{
    echo 
    '<tr>';
    echo 
    '<td>';
    echo 
    $row_foto['percorso'];
    echo 
    '</td>';
    echo 
    '</tr>'
    }while (
    $count 6)

    più o meno una cosa del genere...
    come va? potrebbe andare??
    Server utilizzato: MySQL


    (cit.)
    Un misto tra pazzia ed intelligenza

  9. #9
    Originariamente inviato da rare
    mmm...no non va!
    va a capo prima del sesto record....
    mmm...e se lo faccio con un do while???
    ancora co sto do while...
    se va a capo prima del sesto, fai delle prove, tipo aggiungere un'unità....

    Codice PHP:
    if (($count 7) ==0) echo '<tr>'
    http://codecanyon.net/category/all?ref=Manuelandro
    And I bet she told a million people that she'd stay in touch, Well all the little promises they dont mean much,When theres
    memories to be made

  10. #10
    Te l'ho detto che ero di fretta...
    cmq così va:

    Codice PHP:
    $count=1;
    echo 
    '<table border="1">';
    while (
    $row_foto mysql_fetch_assoc($foto)) 
    {
    if ((
    $count 6) ==1) echo '<tr>';
    echo 
    '<td>'.$row_foto['percorso'].'</td>';
    if ((
    $count 6) ==0)  echo '</tr>';
    $count++;
    }
    if ((
    $count 6) !=0) echo '</tr>';
    echo 
    '</table>'
    Originariamente inviato da rare

    mmm...e se lo faccio con un do while???
    ...però smettila di delirare

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.