Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Iloczyn tablicy asocjacyjnej, Jak dodać 2 pola które sa edytowalne
norfear
post
Post #1





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 14.11.2011

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


Witam jest to moj pierwszy post wiec prosze nie odsylac do google bo jak bym to tam znalazl to bym pewnie nie tworzyl zapytania.

Moj problem polega na tym ze mam
  1. wyświetlamy wyniki, sprawdzamy,
  2. czy zapytanie zwróciło wartość większą od 0
  3. */
  4. if(mysql_num_rows($wynik) > 0) {
  5. /* jeżeli wynik jest pozytywny, to wyświetlamy dane */
  6. echo "<table align='center'cellpadding=\"2\" border=1>";
  7. while($r = mysql_fetch_assoc($wynik)) {
  8. echo "<tr>";
  9. echo "<td>".$r['main']."</td>";
  10. echo "<td>".$r['gold']."</td>";
  11. echo "<td>".$r['otrzymal']."</td>";
  12. echo "<td>".$r['cena']."</td>";
  13. echo "<td>".$r['zaplacil']."</td>";
  14. echo "<td>
  15. <a href=\"zarzadzaj.php?a=del&amp;id={$r['id']}\">Usun</a>
  16. <a href=\"zarzadzaj.php?a=edit&amp;id={$r['id']}\">Edytuj</a>
  17. </td>";
  18. echo "</tr>";
  19. }
  20. echo "</table>";
  21. }
  22.  
  23.  
  24. $a = trim($_REQUEST['a']);
  25. $id = trim($_GET['id']);
  26.  
  27. if($a == 'edit' and !empty($id)) {
  28. /* zapytanie do tabeli */
  29. $wynik = mysql_query("SELECT * FROM gold WHERE
  30. id='$id'")
  31. or die('Błąd zapytania');
  32. /*
  33.   wyświetlamy wyniki, sprawdzamy,
  34.   czy zapytanie zwróciło wartość większą od 0
  35.   */
  36. if(mysql_num_rows($wynik) > 0) {
  37. /* odczytujemy zawartość wiersza z tabeli */
  38. $r = mysql_fetch_assoc($wynik);
  39. /* wczytujemy dane do formularza */
  40. /*
  41.   w formularz znajdują się ukryte pola "a"
  42.   z wartością "save" i pole "id" z wartością
  43.   zmiennej id
  44.   */
  45. echo '<form action="zarzadzaj.php" method="post">
  46. <input type="hidden" name="a" value="save" />
  47. <input type="hidden" name="id" value="'.$id.'" />
  48. <br>
  49. Klient:
  50. <input type="text" name="main"
  51. value="'.$r['main'].'" /><br />
  52. Zloto:
  53. <input type="number" name="gold"
  54. value="'.$r['gold'].'" /><br />
  55. Otrzymal:
  56. <input type="number" name="otrzymal"
  57. value="'.$r['otrzymal'].'" /><br />
  58. Cena:
  59. <input type=number step=0.01 name="cena"
  60. value="'.$r['cena'].'" /><br />
  61. Zaplacil:
  62. <input type="text" name="zaplacil"
  63. value="'.$r['zaplacil'].'" /><br />
  64.  
  65. <input type="submit" value="Popraw" />
  66. </form>';
  67. }
  68. }
  69. elseif($a == 'save') {
  70. /* odbieramy zmienne z formularza */
  71. $id = $_POST['id'];
  72. $main = trim($_POST['main']);
  73. $gold = trim($_POST['gold']);
  74. $otrzymal = trim($_POST['otrzymal']);
  75. $cena = trim($_POST['cena']);
  76. $zaplacil = trim($_POST['zaplacil']);
  77.  
  78.  
  79. /* uaktualniamy tabelę serwer */
  80. mysql_query("UPDATE gold SET main='$main', gold='$gold', otrzymal='$otrzymal', cena='$cena' , zaplacil='$zaplacil' WHERE id='$id'")
  81. or die('Błąd zapytania');


I za czorta nie wiem jak zrobic taki motyw ze mam dodatkowo iloczyn tabelki gold i cena (ponizej obrazowo przedstawiam oco chodzi mi z tym iloczynem

1Main | 1Gold | 1Otrzymal | 1Cena | 1Zaplacil | 1Iloczyn
2Main | 2Gold | 2Otrzymal | 2Cena | 2Zaplacil | 2Iloczyn
3Main | 3Gold | 3Otrzymal | 3Cena | 3Zaplacil | 3Iloczyn
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
Pawel_W
post
Post #2





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

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


  1. echo "<td>". ($r['gold'] * $r['cena'])."</td>";


możesz mi powiedzieć w czym problem? bo to jest aż za głupie na google (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
norfear
post
Post #3





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 14.11.2011

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


Ty faktycznie zdecydowanie przekombinowalem w tworzeniu tego (IMG:style_emoticons/default/smile.gif) Dzieki za pomoc
Haha

A tak zeby juz nie zakladac nowego topica da sie jakos cala kolumne z sumowac a nie tylko wiersz?
Ta ktora podałes
  1. echo "<td>". ($r['gold'] * $r['cena'])."</td>";



Ten post edytował norfear 15.11.2011, 17:14:12
Go to the top of the page
+Quote Post
gorden
post
Post #4





Grupa: Zarejestrowani
Postów: 486
Pomógł: 101
Dołączył: 27.06.2010

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


http://www.w3schools.com/sql/sql_func_sum.asp
Go to the top of the page
+Quote Post
norfear
post
Post #5





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 14.11.2011

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


Juz sobie poradzilem to co chcialem uzyskac jako sume
zalaczam kod jako rozwiazanie

  1. $suma_id = "SELECT SUM(gold * cena) FROM gold";
  2. $suma = mysql_query($suma_id);
  3. $wynik = mysql_fetch_assoc($suma);
  4.  
  5. echo $wynik['SUM(gold * cena)'];
Go to the top of the page
+Quote Post
Pawel_W
post
Post #6





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

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


  1. $suma_id = "SELECT SUM(gold * cena) as suma FROM gold";
  2. $suma = mysql_query($suma_id);
  3. $wynik = mysql_fetch_assoc($suma);
  4.  
  5. echo $wynik['suma'];

korzystaj z takich przypisań, operowanie na indeksach staje się o niebo prostsze (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
norfear
post
Post #7





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 14.11.2011

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


No tak jak bym mial wszystko w jednym pliku to by mialo zostosowanie u mnie (IMG:style_emoticons/default/smile.gif) ale jesli to odzielny plik calkowicie odbiegajacy od wszystkiego co nam znane to raczej nie ma znaczenia (IMG:style_emoticons/default/smile.gif) bo trzeba byc chyba specjalnie uzdolnionym zeby pogubić się w 5 linijkach kody (IMG:style_emoticons/default/biggrin.gif)
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: 15.09.2025 - 02:52