Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Tabela w MySQL
Forum PHP.pl > Forum > Przedszkole
Gość_Janek
Witam. Ponownie zaczalem robic ta swoja tabele biggrin.gif . Tym razem postanowilem zrobic ja w MySQL. Na poczatku wykonałem to na przykladzie jednej druzyny i wszystko chodzilo pieknie - wpisywalem wynik do formularza, a do tabeli automatycznie wpisywaly sie punkty, liczba bramek strzelonych, straconych, roznica bramek itd.
Wiec postanowilem rozszerzyc skrypt o wszystkie 20 druzyn, przeksztalcajac formularz w ten sposob:
  1. </head>
  2. <form action="tabela3.php" method="POST">
  3. <select name="druzyna">
  4. <option>AS Monaco</option>
  5. <option>Arsenal</option>
  6. <option>AC Milan</option>
  7. <option>FC Porto</option>
  8. <option>Juventus</option>
  9. <option>Inter Milan</option>
  10. <option>Bayern</option>
  11. <option>Chelsea</option>
  12. <option>AS Roma</option>
  13. <option>Ajax</option>
  14. <option>Borussia</option>
  15. <option>PSV</option>
  16. <option>Barcelona</option>
  17. <option>Newcastle Utd.</option>
  18. <option>Valencia</option>
  19. <option>Deportivo</option>
  20. <option>Real Madryt</option>
  21. <option>Liverpool</option>
  22. <option>Villarreal</option>
  23. <option>Manchester Utd.</option>
  24. </select>
  25. <input type="text" name="mecz1"> - Przeciwnik <input type="text" name="mecz2"><br />
  26. <input type="submit" value="wyslij">
  27. </form>
  28. </body>
  29. </html>


Teraz formularzu wybieram takze druzyne ktora chce edytowac. Niestety po wyslaniu formularza w tabeli nic sie nie dzieje - caly czas są w kazdym polu zera.
Skrypt wyglada nastepująco (jestem poczatkujacy takze jak cos jest bezsensu to sie nie smiejcie biggrin.gif tongue.gif ):

  1. <?php
  2. include &#092;"./common_db.inc\";
  3. $_POST['druzyna']=$druzyna;
  4. $_POST['mecz1']=$mecz1;
  5. $_POST['mecz2']=$mecz2;
  6. if($mecz1>$mecz2) $mecz='zwyciestwo';
  7. elseif($mecz1==$mecz2) $mecz='remis';
  8. elseif($mecz1<$mecz2) $mecz='porazka';
  9. $link_id = db_connect('roman');
  10. $wynik2 = mysql_query(&#092;"SELECT * FROM tabela WHERE druzyna=\".$druzyna, $link_id );
  11. for($i=0; $i<mysql_num_rows($wynik2); $i++)
  12. {
  13. mysql_data_seek($wynik2, $i);
  14. $query_data = mysql_fetch_array($wynik2);
  15. $punkty = $query_data[&#092;"Pkt\"];
  16. $mecze = $query_data[&#092;"Mecze\"];
  17. $zwyciestwo = $query_data[&#092;"Zwyciestwo\"];
  18. $remis = $query_data[&#092;"Remis\"];
  19. $porazka = $query_data[&#092;"Porazka\"];
  20. $zdobyte = $query_data[&#092;"Zdobyte\"];
  21. $stracone = $query_data[&#092;"Stracone\"];
  22. $roznica = $query_data[&#092;"Roznica\"];
  23. }
  24. switch( $mecz ) {
  25.  case 'zwyciestwo' :
  26. $punkty += 3;
  27. $zwyciestwo +=1;
  28.  break;
  29.  case 'remis':
  30. $punkty += 1;
  31. $remis += 1;
  32. break;
  33.  case 'porazka':
  34. $punkty += 0;
  35. $porazka += 1;
  36.  break;
  37.  
  38. }
  39. $zdobyte += $mecz1;
  40. $stracone += $mecz2;
  41. $mecze += 1;
  42. $roznica += $mecz1 - $mecz2;
  43. if($punkty < 0) $punkty=0;
  44. mysql_query(&#092;"REPLACE INTO tabela (Druzyna, Pkt, Mecze, Zwyciestwo, Remis, Porazka, Zdobyte, Stracone, Roznica) VALUES (
  45.  $druzyna, $punkty, $mecze, $zwyciestwo, $remis, $porazka, $zdobyte, $stracone, $roznica)&#092;");
  46. $link_id = db_connect('roman');
  47. $wynik = mysql_query(&#092;"SELECT * FROM tabela\", $link_id );
  48. echo &#092;"<table border=1 cellpadding=4>\";
  49. for($i=0; $i<mysql_num_rows($wynik); $i++)
  50. {
  51. mysql_data_seek($wynik, $i);
  52. $query_data = mysql_fetch_array($wynik);
  53. $licznik = $i+1;
  54. echo '<tr><td>'.$licznik.'</td><th>'.$query_data['Druzyna'].'</th><td>';
  55. echo $query_data['Pkt'].'</td><td>'.$query_data['Mecze'].'</td><td>'.$query_data['Zwyciestwo'].'</td><td>';
  56. echo $query_data['Remis'].'</td><td>'.$query_data['Porazka'].'</td><td>'. $query_data['Zdobyte'].'</td><td>';
  57. echo $query_data['Stracone'].'</td><td>';
  58. echo $query_data['Roznica'].'</tr>';
  59. }
  60. echo &#092;"</table>\";
  61. echo '<br> <a href=\"form_do_tabeli2.html\">powrót</a>'; 
  62. ?>


Piszcie jak bedzieci mieli jakis pomysl smile.gif .
hesus
Wątpię, żeby znalazło się wielu śmiałków, chętnych do analizy takiego długiego kodu. Może jednak sptecyzujesz problem. Na początek wydaje mi się że w zapytaniu REPLACE niektóre wartości, takie jak nazwa drużyny są tekstowe i może należałoby je zamknąć w apostrowach.
Gość_Janek
To musi byc błąd z tą zmienną $druzyna, poniewaz jak wstawie zamiast $druzyna ciag np. AS Monaco to do rekordu w ktorym ta druzyna występuje wszystko pieknie sie dodaje. Moze jakis blad w skladni? Napiszcie moze jak poprawnie powinno byc zapisane to:

  1. <?php
  2. $wynik2 = mysql_query(&#092;"SELECT * FROM tabela WHERE druzyna=\".$druzyna, $link_id );
  3. ?>


i to:

  1. <?php
  2. mysql_query(&#092;"REPLACE INTO tabela (Druzyna, Pkt, Mecze, Zwyciestwo, Remis, Porazka, Zdobyte, Stracone, Roznica) VALUES ($druzyna, $punkty, $mecze, $zwyciestwo, $remis, $porazka, $zdobyte, $straco
    n
  3. , $roznica)\");
  4. ?>


Pozdrawiam winksmiley.jpg
Gość_Janek
Heh, juz zrobilem i dziala biggrin.gif biggrin.gif . Poprostu pokombinowalem z apostrofami i cudzyslowami i wkoncu sie zrobilo smile.gif smile.gif .
Gość_Janek
Chcialbym natomiast jeszcze pokolorowac wiersze tej tabeli na przemian. Wiem ze juz to bylo na forum, tylko nie wiem jak w moim przypadku to umiescic w skrypcie. Moglby ktos tutaj pomoc? Musze na pewno wstawic tam gdzie jest wyswietlana tabela:

  1. <?php
  2.  
  3.  ...
  4. echo '<tr bgcolor='.$bg.'><td>'.$licznik.'</td><th>'.$query_data['Druzyna'].'</th><td>';
  5.  ...
  6.  
  7. ?>



smile.gif Z gory dzieki winksmiley.jpg
kszychu
  1. <?php
  2. $c1 = '#ff0000';
  3. $c2 = '#00ff00';
  4. $bg = $c1;
  5. for(......) {
  6.  echo '<tr bgcolor='.$bg.'><td>'.$licznik.'</td><th>'.$query_data['Druzyna'].'</th><td>';
  7.  $bg == $c1 ? $bg = $c2 : $bg = $c1;
  8. }
  9.  
  10. ?>
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.