Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL] Skrypt zapisuje tylko jeden rekord do bazy
Kloucek
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 7.10.2008

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


Witam, jestem zielony w temacie (pewnie dlatego przedszkole) i mam problem, który spędza mi sen z powiek.

Mam formularz, którego ilość pól jest zależna od użytkownika. Przesyłam go metodą POST do pliku save.php, gdzie mam pętlę z instrukcjami wyświetlenia danych i zapisania rekordów do bazy. Problem w tym, ze choć dane wyświetlają się poprawnie, to do bazy danych zapisywany jest tylko jeden, pierwszy rekord.

Trochę kodu:
Najpierw kasuję istniejącą tabelę (w pliku z formularzem), żeby zaczynać zawsze od zera.
  1. <?php
  2. $con = mysql_connect("mydb9.surftown.dk:3306","user,"pass");
  3.     if (!$con)
  4.       {
  5.       die('Could not connect: ' . mysql_error());
  6.       }
  7.     // drop table
  8.    
  9.     mysql_select_db("bartosz_pub", $con);
  10.     $sql = "DROP TABLE IF EXISTS football";
  11.     mysql_select_db( 'bartosz_pub' );
  12.     $retval = mysql_query( $sql, $con );
  13.     if(! $retval )
  14.     {
  15.       die('Could not delete table: ' . mysql_error());
  16.     }
  17.    
  18.     mysql_close($con);
  19.   ?>



Następnie w pliku wynikowym tworzę ją na nowo:
  1. <?php
  2. <$con = mysql_connect("mydb9.surftown.dk:3306","user","pass");
  3.     if (!$con)
  4.       {
  5.       die('Could not connect: ' . mysql_error());
  6.       }
  7.    
  8.    
  9.    
  10.    
  11.    
  12.     // Create table
  13.     mysql_select_db("bartosz_pub", $con);
  14.     $sql = "CREATE TABLE football
  15.     (
  16.     team1 char(25),
  17.     team2 char(25),
  18.     channel char(15),
  19.     date int,
  20.     PRIMARY KEY(date),
  21.     time varchar(4),
  22.     display int
  23.     )";
  24.    
  25.     // Execute query
  26.     $create = mysql_query($sql,$con);
  27.             if ($create) echo"great";
  28.             else echo"not so great";
  29. ?>


No i mam pętlę, która uzupełnia (a przynajmniej powinna) bazę o wpisy:
  1. <?php
  2. <span id="intelliTxt"><pre class="alt2" style="border: 1px inset; margin: 0px; padding: 6px; overflow: auto; width: 640px; height: 450px;">$counter = count($_REQUEST)/5;
  3. for ($i=1; $i<=$counter; $i++){
  4.     print "<tr>";
  5.         @$team1 = $_POST['team1'.$i];
  6.     print "<td>".$i."</td>";
  7.     print "<td>".$team1."</td>";
  8.         @$team2 = $_POST['team2'.$i];
  9.     print "<td>vs</td>";
  10.     print "<td>".$team2."</td>";    
  11.         @$channel = $_POST['channel'.$i];
  12.     print "<td>on</td>";
  13.     print "<td>".$channel."</td>";    
  14.         @$date = $_POST['theDate'.$i];
  15.     print "<td>".$date."</td>";    
  16.         @$time = $_POST['time'.$i];
  17.     print "<td>".$time."</td>";
  18.     print "</tr>";
  19.         $save = "INSERT INTO football(team1,team2,channel,date,time,display) VALUES ('$team1','$team2','$channel','$date','$time','0');";
  20.         $execute = mysql_query($save);
  21.    
  22.  
  23.     $save = "INSERT INTO football(team1,team2,channel,date,time) VALUES ('$team1','$team2','$channel','$date','$time');";
  24.     $execute = mysql_query($save);
  25.         }
  26.  
  27.    
  28.     mysql_close($con);
  29. ?>



No i pupa, że się tak wyrażę. W bazie jest tylko 1 rekord - pierwszy wiersz.

Formularz w praktyce jest na www.bartosz.dk/pub
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: 16.09.2025 - 22:35