Visualizzazione dei risultati da 1 a 5 su 5

Discussione: problema while

  1. #1

    problema while

    come posso svolgere 2 cicli while con la stessa query senza doverla fare 2 volte?

    ecco il codice:
    Codice PHP:
    $tot 5;

    $sql_articoli "SELECT * FROM box_articoli ORDER BY id DESC LIMIT "$tot;
    $result_articoli mysql_query($sql_articoli) or die (mysql_error());
    $row_articoli mysql_fetch_array($result_articoli)

      
    // Dichiaro le variabili per gli articoli
      
    $id $row_articoli['id'];
      
    $link $row_articoli['link'];
      
    $link_img $row_articoli['link_img'];
      
    $tipo $row_articoli['tipo'];
      
    $commento $row_articoli['commento']; 
    ora devo eseguire il ciclo while x 5 volte.. se utilizzo un ciclo for mi stampa la stessa prima riga x 5 volte
    Codice PHP:
    while(
    // cosa posso scrivere qui x far elencare i record?
    )
      {
      echo 
    "
      <a class=\"fpss_img\" href=\"
    $link\"><span><span style=\"background:url($link_img) no-repeat;\"><span><img src=\"$link_img\" /></span></span></a>
    "
    ;
      } 
    dopo xo ho del testo statico che non deve essere ripetuto e dopo ancora ho da eseguire la stessa query fatta qui sopra... se io faccio un altra query idendica cambiandogli nome funziona alla xfezione.. ma io vorrei evitare di dover fare un'altra query e risettare le variabili.. visto che le ho già settate.. vi posto il codice che fa funzionare il tutto correttamente
    Codice PHP:

    $sql_articoli 
    "SELECT * FROM articoli";
    $result_articoli mysql_query($sql_articoli) or die (mysql_error());

      while(
    $row_articoli mysql_fetch_array($result_articoli))
      {
      
    // Dichiaro le variabili per gli articoli
      
    $link $row_articoli['link'];
      
    $link_img $row_articoli['link_img'];
      echo 
    "
      <a href=\"
    $link\"><span><img src=\"$link_img\" /></span></a>
    "
    ;
      }

    // testo che non deve essere ripetutto

    // altro ciclo while identico
      
    $sql_articoli2 "SELECT * FROM articoli";
      
    $result_articoli2 mysql_query($sql_articoli2) or die (mysql_error());

      
      while(
    $row_articoli2 mysql_fetch_array($result_articoli2))
      {
      
    // Dichiaro le variabili per gli articoli
      
    $link2 $row_articoli2['link'];
      
    $link_img2 $row_articoli2['link_img'];
      echo 
    "
      <a href=\"
    $link2\"><span><img src=\"$link_img2\" /></span></a>
    "
    ;
      } 
    so di non essermi spiegato molto bene ma spero qualcuno capisca l'aramaio eheh
    La rovina del mondo sara' l'indifferenza. Ma chi se ne frega!!

  2. #2
    O salvi il codice HTML che vuoi generare nel secondo ciclo in una variabile direttamente durante il primo ciclo e poi la stampi tramite http://www.php.net/echo , http://www.php.net/print etc.

    Oppure salvi il recordset in un array e cicli su quello per creare il secondo contenuto.

    Oppure, dopo il primo ciclio, utilizzi http://www.php.net/mysql_data_seek per ritornare all'inizio del recordset ed effettuarne un'altro senza dover ri-eseguire la query.

  3. #3
    Grazie 1000 ho utlizzato mysql_data_seek e funziona tutto alla perfezione.. ora mi chiedevo se non era troppo difficile c'è anche un modo x non dover risettare le variabili? ma utilizzare quelle scritte nel primo ciclo while?
    La rovina del mondo sara' l'indifferenza. Ma chi se ne frega!!

  4. #4
    Perchè "settare" delle variabili quando i contenuti sono già resenti nell'array $row_articoli?

  5. #5
    è per una mia questione di chiarezza nel codice xo si hai ragione.. nn c'è motivo

    Grazie mille x aver risolto il mio prob
    La rovina del mondo sara' l'indifferenza. Ma chi se ne frega!!

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.