Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Warning: extract()
Forum PHP.pl > Forum > Przedszkole
pag-r
Przy takim kodzie php:
  1. <?php
  2. include "conn_inc.php";
  3. $uniq_num= $_REQUEST['unique_num_cv'];
  4. $query= "select * from calories_values where unique_num_cv='$uniq_num'";
  5. $result= mysql_query($query) or die(mysql_error());
  6. $row= mysql_fetch_array($result);
  7. extract($row);  //tutaj pojawia sie warn
  8. ?>

pojawia sie dziwne ostrzeżenie:

Warning: extract() [function.extract]: First argument should be an array in /var/www/...

Nie wiem czy za chwilę nie stanie sie jakims bledem, wiec pytam czy mozna cos z tym zrobic? Dodam, ze z reguly w taki wlasnie sposob "wyciagam" dane z bazy i dotychczas nie mialem do czynienia z takim ostrzezeniem :|.
nospor
$row nie jest tablicą. Proste.
CZemu? Albo masz blad zapytania, albo zapytanie nie zwraca ci zadnych rekordow. Sprawdz
pag-r
rzeczywiscie zapytanie nie zwraca nic sad.gif.
W takim razie zastaniawiam sie jak cos takiego zrealizowac. Chodzi mi o taki wyglad strony:
po lewej lista wszystkich wartosci z bazy, ktora mozna przewijac i po kliknieciu na dany produkt po prawej pojawia sie opis tego produktu i mozliwosc dodania go do listy produktow. Probuje z frame i wydaje mi sie ze wlasnie dlatego pojawia sie ten warn i nawet po wybraniu produktu z lewej z bazy nie jest pobierany pelny opis sad.gif.
  1. //czesc pliku calc.php
  2. <frameset cols="20%,80%">
  3. <frame name="values" src="values.php">
  4. <frame name="detail" src="cart.php">
  5. <noframes>
  6. </noframes>
  7. </frameset>
  8.  
  9.  
  10. //plik values.php
  11. <?php
  12. include "conn_inc.php";
  13.  $query= "select * from calories_values order by name_cv asc";
  14.  $result=mysql_query($query) or die(mysql_error());
  15.  while($row= mysql_fetch_array($result)) {
  16.  extract($row);
  17. echo "<tr><td width=\"90%\">";
  18. echo "<a href=\"cart.php?num=" . $id_cv . "\" target=\"detail\">"; 
  19. echo $name_cv; 
  20. echo "</td></a>";
  21. echo "<td width=\"10%\">";
  22. echo "<a href=\"cart.php?num=" . $id_cv . "\" target=\"detail\">";
  23. echo $energy_cv; 
  24. echo "</a></td></tr>";
  25. }
  26. ?>
  27.  
  28.  
  29. //plik cart.php
  30. <?php
  31. include "conn_inc.php";
  32. $num= $_REQUEST['num'];
  33. $query= "select * from calories_values where id_cv='$num'"; 
  34. $result= mysql_query($query) or die(mysql_error());
  35. $row= mysql_fetch_array($result);
  36. extract($row);
  37. ?>
  38. ....
  39. <table cellpading="5" width="80%">
  40.  <tr>
  41.  <td><strong><?php echo $name_cv; ?></strong><br>
  42.  Kaloryczność: <?php $energy_cv; ?><br>
  43.  Białko: <?php $protein_cv; ?><br>
  44.  Tłuszcz: <?php $fat_cv; ?><br>
  45.  Węglowodany: <?php $carbohydrate_cv; ?><br>
  46.  
  47. <form method="POST" action="modcart.php">
  48. Ilość [gr. lub ml.] <input type="text" name="qty" size="4"><br>
  49. <input type="hidden" name="id_cv" value=<?php echo $id_cv?>"> 
  50. <input type="submit" name="Submit" value="Dodaj">
  51. </form>
  52. <form method="POST" action="cart.php">
  53. <input type="submit" name="Submit" value="Pokaż dodane produkty">
  54.  </form>
  55.  </td>
  56.  </tr>
  57. </table>


Moze w jakis inny sposob to zrealizowac. Chcialbym zeby dodane produkty znajdowaly sie ponizej formulrza z samym dodawaniem, zeby nie trzeba bylo skakac <- i -> zeby dodac produkt.

jakies sugestie?
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.