Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Iloczyn tablicy asocjacyjnej
Forum PHP.pl > Forum > Przedszkole
norfear
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
Pawel_W
  1. echo "<td>". ($r['gold'] * $r['cena'])."</td>";


możesz mi powiedzieć w czym problem? bo to jest aż za głupie na google smile.gif
norfear
Ty faktycznie zdecydowanie przekombinowalem w tworzeniu tego 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>";

gorden
http://www.w3schools.com/sql/sql_func_sum.asp
norfear
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)'];
Pawel_W
  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 smile.gif
norfear
No tak jak bym mial wszystko w jednym pliku to by mialo zostosowanie u mnie smile.gif ale jesli to odzielny plik calkowicie odbiegajacy od wszystkiego co nam znane to raczej nie ma znaczenia smile.gif bo trzeba byc chyba specjalnie uzdolnionym zeby pogubić się w 5 linijkach kody biggrin.gif
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.