Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Dwa Wyrażenia mysql_fetch_array
Forum PHP.pl > Forum > Przedszkole
oomaster
Witam,

Mam problem związany z poniższym kodem.

  1. $web = mysql_query("SELECT * FROM oferta WHERE status='5' ORDER BY kolej ");
  2. echo '<style type="text/css">';
  3. while( $webo = mysql_fetch_array($web)) {
  4. echo 'div.box_ofer_'.$webo['id'].' {width:318px; border: #e3e3e3 1px solid; background: url(gfx/of_'.$webo['id'].'.gif) no-repeat; padding:5px; color: #4a4a4a; float:left;} ';
  5. }
  6. echo '</style>';
  7. $ilosc = mysql_num_rows($web);
  8. echo $ilosc;
  9.  
  10. while( $web2 = mysql_fetch_array($web)) {
  11. for($i = 0; $i < $ilosc; $i++){
  12. if($i % 2 == 0){
  13. echo '<div class="box_ofer_'.$web2['id'].'"><p class="call_title">'.$web2['name'].'</p><br/><br/>
  14. <img src="gfx/r.gif" class="ic"> '.$web2['ul1'].'<br/>
  15. <img src="gfx/r.gif" class="ic"> '.$web2['ul2'].'<br/>
  16. <div class="czysc"></div><br/><a href="oferta.php?ID='.$web2['id'].'" class="more">poznaj szczegóły ť</a></div><div class="ofer_sp">&nbsp;</div>';
  17. }else{
  18. echo '<div class="box_ofer_'.$web2['id'].'"><p class="call_title">'.$web2['name'].'</p><br/><br/>
  19. <img src="gfx/r.gif" class="ic"> '.$web2['ul1'].'<br/>
  20. <img src="gfx/r.gif" class="ic"> '.$web2['ul2'].'<br/>
  21. <div class="czysc"></div><br/><a href="oferta.php?ID='.$web2['id'].'" class="more">poznaj szczegóły ť</a></div><div class="czysc"></div><br/>';
  22. }
  23. }
  24. }


Otóż zawsze to drugie mysql_fetch_array nic nie pobiera. Robie różne kombinacje i zawsze drugie array nie działa. Dlaczego ? Jak to naprawić i uzdrowić ?
piotrooo89
mysql_data_seek
oomaster
Zmieniłem wszystkie array i wywala błąd:

Cytat
Warning: Wrong parameter count for mysql_data_seek() in /home/oomaster/domains/kreditu.pl/public_html/index.php on line 18
piotrooo89
a możesz pokazać jak to robisz?
oomaster
Kod
    $web = mysql_query("SELECT * FROM oferta WHERE status='5' ORDER BY kolej ");
    echo '<style type="text/css">';
    while( $webo = mysql_data_seek($web)) {
    echo 'div.box_ofer_'.$webo['id'].' {width:318px; border: #e3e3e3 1px solid; background: url(gfx/of_'.$webo['id'].'.gif) no-repeat; padding:5px; color: #4a4a4a; float:left;} ';
    }
    echo '</style>';
    echo mysql_error();
    $ilosc = mysql_num_rows($web);
    echo $ilosc;
    
    while( $web2 = mysql_data_seek($web)) {
    for($i = 0; $i < $ilosc; $i++){
    if($i % 2 == 0){
    echo '<div class="box_ofer_'.$web2['id'].'"><p class="call_title">'.$web2['name'].'</p><br/><br/>
    <img src="gfx/r.gif" class="ic"> '.$web2['ul1'].'<br/>
    <img src="gfx/r.gif" class="ic"> '.$web2['ul2'].'<br/>
    <div class="czysc"></div><br/><a href="oferta.php?ID='.$web2['id'].'" class="more">poznaj szczegóły ť</a></div><div class="ofer_sp">&nbsp;</div>';
    }else{
    echo '<div class="box_ofer_'.$web2['id'].'"><p class="call_title">'.$web2['name'].'</p><br/><br/>
    <img src="gfx/r.gif" class="ic"> '.$web2['ul1'].'<br/>
    <img src="gfx/r.gif" class="ic"> '.$web2['ul2'].'<br/>
    <div class="czysc"></div><br/><a href="oferta.php?ID='.$web2['id'].'" class="more">poznaj szczegóły ť</a></div><div class="czysc"></div><br/>';
    }
    }
    }
piotrooo89
chyba nie do końca rozumiesz działanie tej funkcji...
wiec wytłumaczę to w ten sposób:
1. tworzysz sobie query (mysql_query)
2. jedziesz po nim pętla while w celu wyświetlanie kolejnej krotki, ta czynność powoduje przesuwanie się wskaźnika, czyli na początku wskaźnik wskazuje na 0 element, kolejno pierwszy, drugi itd, jak pętla przejdzie cała to wskaźnik masz za ostatnim elementem.
3. w tym momencie musisz niejako zresetować wskaźnik, ustawiając go na początkową wartość (mysql_data_seek)
4. jak już ustawiłeś wskaźnik na początkową wartość możesz znów odwoływać się do swojego query (mysql_query)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.