Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Identyfikacja wysłanej tablicy
--Mariola--
post
Post #1





Goście







Witam,



Napisałem w php wyświetlanie w tabeli produktów z bazy danych.
(IMG:http://iv.pl/images/10974972088794963618.png)

Chciałabym dokończyć tabelę dodając na końcu checkboxa oraz pole wpisania ilości zamówienia aczkolwiek stanęłam na przekazywaniu checkboxy na inną strone. Sytuacja wygląda tak, że podczas zaznaczania boxa na następnej stronie mam arraya wyglądającego mniej więcej tak:
  1. Array ( [super] => 1 [to_cos] => 1 )

I teraz pytanie brzmi jak do zmiennej przypisać owe produkty z bazy "super" oraz "to_cos" wraz z identyfikacją ID w bazie danych tak aby stworzyć podgląd zamówienia.

index.php
  1. <form action="odbieram.php" method="post" id="tabelabd">
  2. <?php include('config.php');
  3.  
  4. //$wybrana_kategoria=$_GET['kategoria'];
  5.  
  6. $zapytanie = mysql_query ("SELECT * FROM produkty") or die ("Błąd zapytania SQL");
  7. print "<TABLE ALIGN=CENTER MARGIN=15 CELLPADDING=5 BORDER=1>";
  8. print "<TR><TD>id</TD><TD>nazwa</TD><TD bgcolor='red'>Opis</TD><TD>Zdjecie</TD><TD>cena</TD><TD>Ilosc</TD></TR>\n";
  9. while ($wiersz = mysql_fetch_array ($zapytanie))
  10. {
  11.  
  12. $id = $wiersz[0];
  13. $nazwa = $wiersz[1];
  14. $opis = $wiersz[2];
  15. $zdjecie = $wiersz[3];
  16. $cena = $wiersz[4];
  17. $ilosc = $wiersz[5];
  18.  
  19. echo("<tr>");
  20. echo("<td>$wiersz[0]</td>");
  21. echo("<td>$wiersz[1]</td>");
  22. echo("<td>$wiersz[2]</td>");
  23. echo("<td>$wiersz[3]</td>");
  24. echo("<td>$wiersz[4]</td>");
  25. echo("<td>$wiersz[5]");
  26. if($wiersz[5] > 0){
  27.  
  28. echo "<Input type=\"checkbox\" name=\"$wiersz[1]\" value=\"1\">";
  29.  
  30.  
  31. }else {echo("</td>");}
  32. echo("</tr>");
  33.  
  34.  
  35.  
  36. }
  37. echo "<input type=\"submit\" value=\"Wyślij\" />";
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44. ?> </form>


odbieram.php
  1. print_r($_POST);


Pozdrawiam.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 16)
rad11
post
Post #2





Grupa: Zarejestrowani
Postów: 1 270
Pomógł: 184
Dołączył: 7.10.2012
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


"I teraz pytanie brzmi jak do zmiennej przypisać owe produkty z bazy "super" oraz "to_cos""

tak jak sie przypisuje kazdego innego posta, a jesli chodzi o identyfikacje w bazie to najlepiej jak zamiast super albo to cos to poprostu zamienisz wartosci na id z bazy i wtedy poprzez te id bedziesz se mogl robic podglad zamowienia.

Go to the top of the page
+Quote Post
--Mariola--
post
Post #3





Goście







Właśnie :
  1. foreach($_POST as $klucz => $wartosc){
  2.  
  3. echo "Klucz: $klucz; Wartość: $wartosc<br>n";
  4.  
  5. }

oraz:
  1. foreach($_POST as $cleo){
  2.  
  3. echo "$cleo";
  4.  
  5. }


Nie działa. Nie wiem jak wyciągnąć z tego arraya rekordy.
Go to the top of the page
+Quote Post
sazian
post
Post #4





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 141
Dołączył: 19.09.2006
Skąd: B-tów

Ostrzeżenie: (0%)
-----


musi działać
masz jakieś błędy ?
Go to the top of the page
+Quote Post
--Mariola--
post
Post #5





Goście







Żaden błąd, pusta strona.
Go to the top of the page
+Quote Post
sazian
post
Post #6





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 141
Dołączył: 19.09.2006
Skąd: B-tów

Ostrzeżenie: (0%)
-----


daj pod pętlą jeszcze raz var_dump($_POST)
Go to the top of the page
+Quote Post
--Mariola--
post
Post #7





Goście







Faktycznie stara wersja PHP. Teraz działa. Oto mój wynik:
  1. Klucz: 1; Wartosc: 1
  2. Klucz: 2; Wartosc: 1

Teraz już nie przeszukiwałam po nazwie a po ID stąd 1 i 2. Jak owe klucz przypisać do zmiennych dostępnych poza funkcją foreach?
Go to the top of the page
+Quote Post
sazian
post
Post #8





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 141
Dołączył: 19.09.2006
Skąd: B-tów

Ostrzeżenie: (0%)
-----


foreach nie jest funkcją ;P

$zmienna = $_POST[1]; (IMG:style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
-Gość-
post
Post #9





Goście







Cytat(sazian @ 6.06.2014, 21:07:53 ) *
foreach nie jest funkcją ;P

$zmienna = $_POST[1]; (IMG:style_emoticons/default/questionmark.gif)

Ale to jest ustawienie ręczne $POSTu. Nigdy nie będę wiedziała ile i czego ktoś zamówił. Posiadam wgranego WebServa i podczas próby wyświetlenia rekordu z tabeli poleceniem:
  1. SELECT * FROM produkty WHERE id=1

Kolumna id jest. Próbowałam już `id`=1 oraz 'id'=1 i nic nie pomaga wyświetla wszystkie rekordy.
Go to the top of the page
+Quote Post
sazian
post
Post #10





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 141
Dołączył: 19.09.2006
Skąd: B-tów

Ostrzeżenie: (0%)
-----


  1. $key=array_keys($_POST);
  2. foreach($key as $k=>$v)
  3. {
  4. $key[$k]=(int)$v;
  5.  
  6. }
  7. mysql_query('SELECT * FROM produkty WHERE id in ('.implode(',',$key).')');

pisane z palca
Go to the top of the page
+Quote Post
--Mariola--
post
Post #11





Goście







Cytat(sazian @ 6.06.2014, 21:23:33 ) *
  1. $key=array_keys($_POST);
  2. foreach($key as $k=>$v)
  3. {
  4. $key[$k]=(int)$v;
  5.  
  6. }
  7. mysql_query('SELECT * FROM produkty WHERE id in ('.implode(',',$key).')');

pisane z palca


Niestety pusto. Jak w WebServie wpisuję w SQL okienku moje zapytania to nie działa. Co mogę robić nie tak?
Go to the top of the page
+Quote Post
--Mariola--
post
Post #12





Goście







Witam.

Wczoraj prosiłam tu o pomoc. I to co chciałam to udało mi się zrobić, natomiast mam teraz pewien problem:

Index.php

  1. <form action="odbieram.php" method="post" id="tabelabd">
  2. <?php include('config.php');
  3.  
  4. //$wybrana_kategoria=$_GET['kategoria'];
  5.  
  6. $zapytanie = mysql_query ("SELECT * FROM produkty") or die ("Błąd zapytania SQL");
  7. print "<TABLE ALIGN=CENTER MARGIN=15 CELLPADDING=5 BORDER=1>";
  8. print "<TR><TD>id</TD><TD>nazwa</TD><TD bgcolor='red'>Opis</TD><TD>Zdjecie</TD><TD>dostepnosc</TD><TD>cena</TD><TD>wybierz_produkt</TD></TR>\n";
  9. while ($wiersz = mysql_fetch_array ($zapytanie))
  10. {
  11.  
  12. $id = $wiersz[0];
  13. $nazwa = $wiersz[1];
  14. $opis = $wiersz[2];
  15. $zdjecie = $wiersz[3];
  16. $dostepnosc = $wiersz[4];
  17. $cena = $wiersz[5];
  18. $wybierz_produkt = $wiersz[6];
  19.  
  20. echo("<tr>");
  21. echo("<td>$wiersz[0]</td>");
  22. echo("<td>$wiersz[1]</td>");
  23. echo("<td>$wiersz[2]</td>");
  24. echo("<td>$wiersz[3]</td>");
  25. echo("<td>$wiersz[4]</td>");
  26. echo("<td>$wiersz[5]</td>");
  27. echo("<td>$wiersz[6]");
  28. if($wiersz[4] = 'Tak'){
  29.  
  30. echo "<Input type=\"checkbox\" name=\"$wiersz[0]\" value=\"$wiersz[5]\">";
  31.  
  32. }else {echo("</td>");}
  33. echo("</tr>");
  34.  
  35. }
  36. echo "<input type=\"submit\" value=\"Wyślij\" />";
  37.  
  38. ?> </form>

wynik index.php
(IMG:http://iv.pl/images/36094056202879557535.jpg)

i po wybraniu produktów mój wynik to:

ID produktu: 1;
Cena za sztuke: 100
ID produktu: 2;
Cena za sztuke: 50

kod odbieram.php:
  1. <?php
  2.  
  3. foreach($_POST as $klucz => $wartosc){
  4. echo "ID produktu: $klucz; <br> Cena za sztuke: $wartosc <br>" ;
  5.  
  6. }
  7.  
  8. ?>



i teraz mam pytanie:

Jak podliczyć/zsumować ceny produktów (IMG:style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
wojtasklc
post
Post #13





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 4.06.2014

Ostrzeżenie: (0%)
-----


<?php

foreach($_POST as $klucz => $wartosc){
echo "ID produktu: $klucz; <br> Cena za sztuke: $wartosc <br>" ;
$suma=$suma+$wartosc;
}

?>

może tak? (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
-Marola-
post
Post #14





Goście







Wszystko działa, jest okay, dziękuję. I jeszcze jeden problem mam. Jak wyświetlić w tej mojej pętli foreach poza ID produktu i Ceną produktu również nazwę produktu ?

Go to the top of the page
+Quote Post
wojtasklc
post
Post #15





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 4.06.2014

Ostrzeżenie: (0%)
-----


może dodać ukryty input z wartością $wiersz[1]
później za pomocą print_r($_POST) zobaczyć sobie jakie masz wartości w poście przesyłane powinien tam być napisz co zwróciło
Go to the top of the page
+Quote Post
--Mariola--
post
Post #16





Goście







po dodaniu za znacznikami
<?
?>

w index.php linijki

  1. <INPUT type="HIDDEN" NAME="$nazwa" VALUE="$wiersz[1]">


i wyświetleniu tablicy poleceniem print_r ($_POST); nic nie dzieje się. Hmm kombinuje już na wszystkie sposoby
Go to the top of the page
+Quote Post
wojtasklc
post
Post #17





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 4.06.2014

Ostrzeżenie: (0%)
-----


Cytat(-Mariola- @ 7.06.2014, 12:56:41 ) *
po dodaniu za znacznikami
<?
?>

w index.php linijki

  1. <INPUT type="HIDDEN" NAME="$nazwa" VALUE="$wiersz[1]">


i wyświetleniu tablicy poleceniem print_r ($_POST); nic nie dzieje się. Hmm kombinuje już na wszystkie sposoby


Nie wiem czy dobrze rozumiem

jak masz ta linijke
echo "<Input type=\"checkbox\" name=\"$wiersz[0]\" value=\"$wiersz[5]\">";
dodaj to samo tylko z type hidden, a value $wiersz[1]
tak robilas?
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 22:06