Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z wyświetleniem danych
Forum PHP.pl > Forum > PHP
manti_1986
Nie mogę wyświetlic wyniku na ekrenie w postaci tablicy..Po wyświetleniu zmiennej wyskakuje mi " Resource id #5 "


Moj kod to :


<?php include ('naglowek.php'); ?>

<h3>Produkty</h3>

<?php

// formularz Edycja istniejącego produktu
// jezeli klikne na produkt dany to stworzy formularz do edytowania biorac juz ten produkt po id
if ($_GET['akcja'] == 'edytuj') {
//pobiera produkt po id
$zapytanie = "SELECT * FROM pizza WHERE id_pizzy=".$_GET['id_pizzy'];
$produkt = mysql_query($zapytanie);
$rekord = mysql_fetch_assoc($produkt);
?>
<!--okno edytowania dodatkowo-->
<p><b>Edytuj produkt</b></p>

<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="POST">
<!--id tylko do oczytu nie mozna zmieniac-->
ID: <input readonly name="id_pizzy" value="<?php echo $rekord['id'] ?>" size="2"/>

Produkt: <input name="nazwa_pizzy" value="<?php echo $rekord['nazwa'] ?>" size="40" />

kcal/100g: <input name="rozmiar_pizzy" value="<?php echo $rekord['kcal'] ?>" size="5" />

<input type="submit" name="zmien" value="Zmień" />
<input type="reset" value="Resetuj" /><!--resetuje do postaci poprzedniej wlasciwej-->

</form><br />

<?php
}

// zmiana istniejącego produktu
//jezeli klikne na zmien
if ($_POST['zmien']) {

// UWAGA: nie powinno się bez sprawdzenia wprowadzać do bazy tego, co podał użytkownik!
$zapytanie = "UPDATE pizza SET nazwa_pizzy='".$_POST['nazwa_pizzy']."', rozmiar_pizzy=" . $_POST['rozmiar_pizzy'] . " WHERE id_pizzy=".$_POST['id_pizzy'];

$produkt = mysql_query($zapytanie);

if ($produkt)
echo "<p>Aktualizacja powiodła się</p>";
else
echo "<p>Aktualizacja nie powiodła się!</p>";
}


// dodawanie nowego produktu
//jezeli klikne na dodaj
if ($_POST['dodaj']) {

$nowy_produkt = trim($_POST['nazwa_pizzy']);
$kalorie = trim($_POST['rozmiar_pizzy']);

// sprawdź, czy taka nazwa produktu jest już w bazie
$zapytanie = "SELECT nazwa_pizzy FROM pizza WHERE nazwa_pizzy='$nowy_produkt'";
$produkt = mysql_query($zapytanie);

if (mysql_num_rows($produkt) > 0)
echo "<p>Produkt o takiej nazwie już istnieje. Podaj inną nazwę.</p>";

else {
$zapytanie = "INSERT INTO pizza (nazwa_pizzy, rozmiar_pizzy) VALUES ('$nowy_produkt', $kalorie)";
$wstaw = mysql_query($zapytanie);

if ($wstaw)
echo "<p>Dodano nowy produkt do bazy</p>";
else
echo "<p>Dodanie nowego produktu nie powiodło się</p>";
}
}

?>
<!-- 1. to widaj jako pierwsze -->
<p><b>Dodaj produkt</b></p>

<!-- formularz Dodaj nowy produkt -->

<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="POST">
nazwa pizzy: <input name="nazwa_pizzy" size="35" />
rozmiar pizzy: <input name="rozmiar_pizzy" size="5" />

<input type="submit" name="dodaj" value="Dodaj" /><!--dodaje i odrazu wczytuje-->
<input type="reset" value="Resetuj" /><!--wyczyszcza formularz-->
</form>
<p /><!-- podkreslenie-->

<?php
// wygeneruj tabelę ze wszystkimi produktami pod podkresleniem

$zapytanie = "SELECT * FROM pizza ORDER BY nazwa_pizzy";
$produkty = mysql_query($zapytanie) or die ('Błąd: ' . mysql_error());

?>
<hr />
<table>
<tr><th>ID</th><th>Nazwa </th><th>Rozmiar </th><th></th></tr>

<?php
print $produkty;
while ($rekord = mysql_fetch_assoc($produkty)) {
//while ($rekord = mysql_fetch_row($produkty)) {
//while ($rekord = mysql_fetch_array($produkty)) {

?>
<tr>
<td><?php echo $rekord['id_pizzy']; ?></td>

<td><a href="<?php echo $_SERVER['PHP_SELF'];?>?akcja=edytuj&id=<?php echo $rekord['id_pizzy'];?>">
<!--bedzie id,nazwa podkreslona, kcal/100 ... jezeli klikne na dany produkt to zareaguje na akcje edytuj-->

<?php echo $rekord['nazwa_pizzy'];?></a></td>
<td><?php echo $rekord['rozmiar_pizzy'];?></td>
</tr>
<?php
}
?>
<table>

</body>
</html>



Prosze o pomoc
kfc4
Wrzuć kod między [ php ] a [ /php ]

//Używaj przycisku 'Raportuj'
//manti_1986 dodaj BBcode
//~Spawnm


// Przepraszam, nie wiedziałem o takim czymś
//~kfc4
manti_1986
Nie mogę wyświetlic wyniku na ekrenie w postaci tablicy..Po wyświetleniu zmiennej wyskakuje mi " Resource id #5 "


Moj kod to :


  1. <?php include ('naglowek.php'); ?>
  2.  
  3. <h3>Produkty</h3>
  4.  
  5. <?php
  6.  
  7. // formularz Edycja istniejącego produktu
  8. // jezeli klikne na produkt dany to stworzy formularz do edytowania biorac juz ten produkt po id
  9. if ($_GET['akcja'] == 'edytuj') {
  10. //pobiera produkt po id
  11. $zapytanie = "SELECT * FROM pizza WHERE id_pizzy=".$_GET['id_pizzy'];
  12. $produkt = mysql_query($zapytanie);
  13. $rekord = mysql_fetch_assoc($produkt);
  14. ?>
  15. <!--okno edytowania dodatkowo-->
  16. <p><b>Edytuj produkt</b></p>
  17.  
  18. <form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="POST">
  19. <!--id tylko do oczytu nie mozna zmieniac-->
  20. ID: <input readonly name="id_pizzy" value="<?php echo $rekord['id'] ?>" size="2"/>
  21.  
  22. Produkt: <input name="nazwa_pizzy" value="<?php echo $rekord['nazwa'] ?>" size="40" />
  23.  
  24. kcal/100g: <input name="rozmiar_pizzy" value="<?php echo $rekord['kcal'] ?>" size="5" />
  25.  
  26. <input type="submit" name="zmien" value="Zmień" />
  27. <input type="reset" value="Resetuj" /><!--resetuje do postaci poprzedniej wlasciwej-->
  28.  
  29. </form><br />
  30.  
  31. <?php
  32. }
  33.  
  34. // zmiana istniejącego produktu
  35. //jezeli klikne na zmien
  36. if ($_POST['zmien']) {
  37.  
  38. // UWAGA: nie powinno się bez sprawdzenia wprowadzać do bazy tego, co podał użytkownik!
  39. $zapytanie = "UPDATE pizza SET nazwa_pizzy='".$_POST['nazwa_pizzy']."', rozmiar_pizzy=" . $_POST['rozmiar_pizzy'] . " WHERE id_pizzy=".$_POST['id_pizzy'];
  40.  
  41. $produkt = mysql_query($zapytanie);
  42.  
  43. if ($produkt)
  44. echo "<p>Aktualizacja powiodła się</p>";
  45. else
  46. echo "<p>Aktualizacja nie powiodła się!</p>";
  47. }
  48.  
  49.  
  50. // dodawanie nowego produktu
  51. //jezeli klikne na dodaj
  52. if ($_POST['dodaj']) {
  53.  
  54. $nowy_produkt = trim($_POST['nazwa_pizzy']);
  55. $kalorie = trim($_POST['rozmiar_pizzy']);
  56.  
  57. // sprawdź, czy taka nazwa produktu jest już w bazie
  58. $zapytanie = "SELECT nazwa_pizzy FROM pizza WHERE nazwa_pizzy='$nowy_produkt'";
  59. $produkt = mysql_query($zapytanie);
  60.  
  61. if (mysql_num_rows($produkt) > 0)
  62. echo "<p>Produkt o takiej nazwie już istnieje. Podaj inną nazwę.</p>";
  63.  
  64. else {
  65. $zapytanie = "INSERT INTO pizza (nazwa_pizzy, rozmiar_pizzy) VALUES ('$nowy_produkt', $kalorie)";
  66. $wstaw = mysql_query($zapytanie);
  67.  
  68. if ($wstaw)
  69. echo "<p>Dodano nowy produkt do bazy</p>";
  70. else
  71. echo "<p>Dodanie nowego produktu nie powiodło się</p>";
  72. }
  73. }
  74.  
  75. ?>
  76. <!-- 1. to widaj jako pierwsze -->
  77. <p><b>Dodaj produkt</b></p>
  78.  
  79. <!-- formularz Dodaj nowy produkt -->
  80.  
  81. <form action="<?php echo $_SERVER['PHP_SELF'];?>" method="POST">
  82. nazwa pizzy: <input name="nazwa_pizzy" size="35" />
  83. rozmiar pizzy: <input name="rozmiar_pizzy" size="5" />
  84.  
  85. <input type="submit" name="dodaj" value="Dodaj" /><!--dodaje i odrazu wczytuje-->
  86. <input type="reset" value="Resetuj" /><!--wyczyszcza formularz-->
  87. </form>
  88. <p /><!-- podkreslenie-->
  89.  
  90. <?php
  91. // wygeneruj tabelę ze wszystkimi produktami pod podkresleniem
  92.  
  93. $zapytanie = "SELECT * FROM pizza ORDER BY nazwa_pizzy";
  94. $produkty = mysql_query($zapytanie) or die ('Błąd: ' . mysql_error());
  95.  
  96. ?>
  97. <hr />
  98. <table>
  99. <tr><th>ID</th><th>Nazwa </th><th>Rozmiar </th><th></th></tr>
  100.  
  101. <?php
  102. print $produkty;
  103. while ($rekord = mysql_fetch_assoc($produkty)) {
  104. //while ($rekord = mysql_fetch_row($produkty)) {
  105. //while ($rekord = mysql_fetch_array($produkty)) {
  106.  
  107. ?>
  108. <tr>
  109. <td><?php echo $rekord['id_pizzy']; ?></td>
  110.  
  111. <td><a href="<?php echo $_SERVER['PHP_SELF'];?>?akcja=edytuj&id=<?php echo $rekord['id_pizzy'];?>">
  112. <!--bedzie id,nazwa podkreslona, kcal/100 ... jezeli klikne na dany produkt to zareaguje na akcje edytuj-->
  113.  
  114. <?php echo $rekord['nazwa_pizzy'];?></a></td>
  115. <td><?php echo $rekord['rozmiar_pizzy'];?></td>
  116. </tr>
  117. <?php
  118. }
  119. ?>
  120. <table>
  121.  
  122. </body>
  123. </html>




Prosze o pomoc
krowal
Kod od linijki ok 102
  1. <?php
  2. print $produkty; // !!!!!! $produkty to nie tablica tylko wynik zapytania
  3. while ($rekord = mysql_fetch_assoc($produkty)) {
  4. //while ($rekord = mysql_fetch_row($produkty)) {
  5. //while ($rekord = mysql_fetch_array($produkty)) {
  6.  
  7. ?>
  8. <tr>
  9. <td><?php echo $rekord['id_pizzy']; ?></td>
  10.  
  11. <td><a href="<?php echo $_SERVER['PHP_SELF'];?>?akcja=edytuj&id=<?php echo $rekord['id_pizzy'];?>">
  12. <!--bedzie id,nazwa podkreslona, kcal/100 ... jezeli klikne na dany produkt to zareaguje na akcje edytuj-->
  13.  
  14. <?php echo $rekord['nazwa_pizzy'];?></a></td>
  15. <td><?php echo $rekord['rozmiar_pizzy'];?></td>
  16. </tr>
  17. <?php
  18. }
  19. ?>

Próbujesz zrobić print na wyniku zapytania bez wcześniejszego fetch'a, poza tym do wyświetlania tablicy służy print_r() a nie print. Nie wiem czemu tu robisz źle skoro wcześniej miałeś zrobione dobrze, ale pewnie to jakiś gotowiec i nie wiesz nawet co się dzieje winksmiley.jpg
manti_1986
Cytat(krowal @ 30.07.2009, 07:43:46 ) *
Kod od linijki ok 102
  1. <?php
  2. print $produkty; // !!!!!! $produkty to nie tablica tylko wynik zapytania
  3. while ($rekord = mysql_fetch_assoc($produkty)) {
  4. //while ($rekord = mysql_fetch_row($produkty)) {
  5. //while ($rekord = mysql_fetch_array($produkty)) {
  6.  
  7. ?>
  8. <tr>
  9. <td><?php echo $rekord['id_pizzy']; ?></td>
  10.  
  11. <td><a href="<?php echo $_SERVER['PHP_SELF'];?>?akcja=edytuj&id=<?php echo $rekord['id_pizzy'];?>">
  12. <!--bedzie id,nazwa podkreslona, kcal/100 ... jezeli klikne na dany produkt to zareaguje na akcje edytuj-->
  13.  
  14. <?php echo $rekord['nazwa_pizzy'];?></a></td>
  15. <td><?php echo $rekord['rozmiar_pizzy'];?></td>
  16. </tr>
  17. <?php
  18. }
  19. ?>

Próbujesz zrobić print na wyniku zapytania bez wcześniejszego fetch'a, poza tym do wyświetlania tablicy służy print_r() a nie print. Nie wiem czemu tu robisz źle skoro wcześniej miałeś zrobione dobrze, ale pewnie to jakiś gotowiec i nie wiesz nawet co się dzieje winksmiley.jpg




to że napisałem print $produkty to po to aby zobaczyc pojedynczy wynik ale go mi nie wyswietla.. nie wiem czy nie zauwazyłeś że to czy to jest czy tego nie ma nie zmienia postaci rzeczy że dalej niewiem co w kodzie mam źle
krowal
Wiem, że nie wiesz co masz źle bo nawet tego kodu nie pisałeś smile.gif

Kilka linijek wcześniej przed kodem który wkleiłem poprzednio masz coś takiego:
  1. <?php
  2. $produkty = mysql_query($zapytanie); //linijka 95-96
  3. ?>

Później chcesz wyświetlić zmienną $produkty... to tak nie działa bo zmienna $produkty zawiera w sobie uchwyt do zasobu mysql który musi być jeszcze jakoś przetworzony. Btw jest to robione kilka linijek dalej w pętli:
  1. <?php
  2. while ($rekord = mysql_fetch_assoc($produkty)) { //linijka 104-105
  3. ?>

I jeśli w tej pętli dasz print_r($rekord); to ci wyświetli tablicę z danymi pobranymi z db dotyczącymi jednego rokordu.

Jeśli tego dalej nie rozumiesz to zacznij od jakiegoś tutoriala z podstawami.
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.