Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> wstawianie danych do bazy
huka
post
Post #1





Grupa: Zarejestrowani
Postów: 96
Pomógł: 0
Dołączył: 10.03.2004
Skąd: Warszawa

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


Witam,
mam problem podczas wstawiania danych do tabeli. Chodzi o to że podczas dodawania jakichkolwiek danych do tabeli najpierw wstawia mi jeden pusty rekord a dopiero po wypełnieniu formularza te dane które chcę.
Nie wiem dlaczego tak sie dzieje ale wydaje mi sie że to wstawia te dane już podczas samego wygenerowania skryptu.

Skrypt wygląda tak
  1. <html>
  2. <form name=\"dodaj_odpowiedz\" method=\"post\">
  3. <center><table border=\"0\" width=\"533\" ></center>
  4. <tr>
  5.  <td align=\"left\" width=\"97\">
  6.  <b>Podaj treść odpowiedzi</b></td>
  7.  <td align=\"left\" width=\"422\"><textarea rows=\"3\" name=\"Odpowiedz\" cols=\"50\"></textarea><br><b></b></td>
  8. </tr>
  9. <tr><td align=\"left\" width=\"97\"><b>Czy odpowiedź jest poprawna:</b></td>
  10. <td align=\"left\"><select size=\"1\" name=\"Dobra_odp\">
  11. <option value=\"1\">TAK</option>
  12. <option value=\"0\">NIE</option>
  13. </select></td>
  14. </tr>
  15. </table> 
  16. <center><table border=\"0\" width=\"533\"><tr>
  17. <b>Pytanie</b></td>
  18.  
  19. <?
  20. $db_name = &#092;"praca\";
  21. $con = mysql_connect(&#092;"localhost\") or die(\"Blad otwarcia bazy\");
  22. $db = mysql_select_db($db_name, $con) or die(&#092;"Otwarcie tabeli\");
  23. $sql = &#092;"SELECT ID_pytania, Tresc_pytania FROM Pytania ORDER BY Tresc_pytania\";
  24. $sql2 = &#092;"insert into Odpowiedzi values('null','$ID_pyt','\".$_POST['Odpowiedz'].\"','$Wynik','\".$_POST['Dobra_odp'].\"')\";
  25. $result = mysql_query($sql, $con) or die(&#092;"Polaczenie z baza nie udalo sie\");
  26. $result2 = mysql_query($sql2, $con) or die(&#092;"Polaczenie z baza nie udalo sie\");
  27. echo &#092;"<select name=ID_pytania>\"; 
  28. while($row = mysql_fetch_array($result)) { 
  29. echo &#092;"<option value=\".$row['ID_pytania'].\">\".$row['Tresc_pytania'].\"n\"; 
  30. } 
  31. ?>
  32.  
  33. </form><p>
  34. <tr><td><center>
  35. <form action=dodaj_odpowiedz.php><input type=\"submit\" value=\"Dodaj\">
  36. <input type=\"reset\" value=\"Wyczyść\"></form>
  37. </tr></td></table>
  38. <center><form action=index.html><input type=submit value=\"Powrót do menu\">
  39. </form></center></form>
  40. </html>


Jak wiecie co należy zmienić ażeby nie wstawiało mi pustego wiersza to napiszcie.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
beskid
post
Post #2





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 18.07.2004
Skąd: Gorlice - Kraków

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


Jestem początkujący, ale wydaje mi się że zawsze będzie Ci wstawiało pusty wiersz, skoro Twój skrypt jest przetwarzany zawsze w całości. Musisz dać odpowiedni warunek, aby wstawiało ci dane tylko, gdy odpowiednie zmienne są ustawione, na przykład tak:

  1. <?
  2. $db_name = &#092;"praca\";
  3. $con = mysql_connect(&#092;"localhost\") or die(\"Blad otwarcia bazy\");
  4. $db = mysql_select_db($db_name, $con) or die(&#092;"Otwarcie tabeli\");
  5. $sql = &#092;"SELECT ID_pytania, Tresc_pytania FROM Pytania ORDER BY Tresc_pytania\";
  6.  
  7. if( isset($_POST['Odpowiedz']) and isset($_POST['Dobra_odp'])) {
  8. $sql2 = &#092;"insert into Odpowiedzi values('null','$ID_pyt','\".$_POST['Odpowiedz'].\"','$Wynik','\".$_POST['Dobra_odp'].\"')\";
  9. $result = mysql_query($sql, $con) or die(&#092;"Polaczenie z baza nie udalo sie\");
  10. }
  11.  
  12. $result2 = mysql_query($sql2, $con) or die(&#092;"Polaczenie z baza nie udalo sie\");
  13. echo &#092;"<select name=ID_pytania>\"; 
  14. while($row = mysql_fetch_array($result)) { 
  15. echo &#092;"<option value=\".$row['ID_pytania'].\">\".$row['Tresc_pytania'].\"n\"; 
  16. } 
  17. ?>


Jeśli się mylę, to niech ktoś mnie poprawi...
Go to the top of the page
+Quote Post

Posty w temacie


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: 13.10.2025 - 10:36