Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyświetlnie rekordów
Forum PHP.pl > Forum > PHP
Domin
Hej,

Mam taki o to kod.

  1. <? 
  2. $query5 = "SELECT * FROM cadre ORDER BY name ASC";
  3. $result5 = mysql_query ($query5) or die(mysql_error());
  4. $num5 = mysql_num_rows($result5);
  5. if ($num5 > 0) {
  6. while ($row5 = mysql_fetch_array($result5, MYSQL_ASSOC)) {
  7. $pilkarz[] = $row5['player_id'];
  8. $name[] = $row5['name'];
  9. $option = "<div align='left'> <input type='checkbox' name='".$pilkarz."' value='1'>".$name[0]."</div>";
  10. }
  11. }
  12. ?>
  13. <form name="form_pilkarz" enctype="multipart/form-data" action="index.php" method="post">
  14. <input type="hidden" name="action" value="pilkarz">
  15. <?
  16. echo $option;
  17. ?>
  18. <div class="center"><input type="button" onclick="document.form_pilkarz.submit()" class="button" value="<? echo p_2501; ?>" /></div>
  19. </form>


W bazie mam dwa rekordy, ale nie wiem czemu powyższy kod wyświetla mi tylko jeden? Proszę o pomoc
Fixus
a nie możesz trochę prościej?
zamień:
Kod
$pilkarz[] = $row5['player_id'];
                                      $name[] = $row5['name'];
                                      $option = "<div align='left'> <input type='checkbox' name='".$pilkarz."' value='1'>".$name[0]."</div>";

na
Kod
$pilkarz = $row5['player_id'];
$name = $row5['name']
$option = "<div align='left'><input type='checkbox' name='".$pilkarz."' value='1'>".$name."</div>";

Będzie działać
Domin
to nic nie zmienia, efekt jest taki sami. Z dwóch rekordów bazie wyświetlany jest tylko jeden.
Fixus
jesteś pewien że tam są dwa rekordy ? tongue.gif
sprawdź może jeszcze tak:
zamiast:
Kod
($row5 = mysql_fetch_array($result5, MYSQL_ASSOC)

daj
Kod
($row5 = mysql_fetch_array($result5)
Domin
Tak już robiłem, a na bazę mam cały czas podgląd. Wprowadzałem te rekordy na wszelki wypadek jeszcze raz i nadal to samo.

Zastanawiam się może da się to inaczej zrobić.


Może ktoś będzie miał pomysł, bo ja się z tym męczę. Chodzi o...
- Pobrać z bazy wszystkich rekordów (pola: player_id, name, form_point).
- Wyświetlić je w formularzu
- Po wybraniu jednego z nich i kliknięciu zagłosuj, jednemu z nich zostanie dodane +1.
GrayHat
@Fixus: jak nie jesteś pewien to sie nie udzielaj!!

  1. <? 
  2. $query5 = "SELECT * FROM cadre ORDER BY name ASC";
  3. $result5 = mysql_query ($query5) or die(mysql_error());
  4. $num5 = mysql_num_rows($result5);
  5. if ($num5 > 0) {
  6. while ($row5 = mysql_fetch_array($result5, MYSQL_ASSOC)) {
  7. $pilkarz[] = $row5['player_id'];
  8. $name[] = $row5['name'];
  9. $options .= "<div align='left'> <input type='checkbox' name='".$pilkarz."' value='1'>".$name[0]."</div>";
  10. }
  11. }
  12. ?>
  13. <form name="form_pilkarz" enctype="multipart/form-data" action="index.php" method="post">
  14. <input type="hidden" name="action" value="pilkarz">
  15. <?
  16. foreach ($options AS $option){
  17. echo $option;
  18. }
  19. ?>
  20. <div class="center"><input type="button" onclick="document.form_pilkarz.submit()" class="button" value="<? echo p_2501; ?>" /></div>
  21. </form>



@Domin: Twój problem polegał na tym, że nadpisywałeś zmienną $option
Domin
OK, ale nie mam teraz zmiennej $option więc nie mogę się do niej odwoływać.
GrayHat
Ale masz tablice $options, której elementami są rekordy z piłkarzami i możesz operować na tych rekordach...
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.