Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php][mysql] problem wyborem z listy
marian84
post 1.04.2008, 21:35:00
Post #1





Grupa: Zarejestrowani
Postów: 185
Pomógł: 10
Dołączył: 29.01.2008

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


Mam stworzony formularz... który do wczoraj działał....
ma on m.in. po wyborze z listy rozwijanej dopisać w ostatnim rekordzie wartosc id parenta...
błąd jaki następuje to dopisanie ostatniego id a nie id wybranego... gdzie jest błąd?
Kod
<fieldset style="width:610px;">
<form action="" method="post">
    <table border="0">
      <tr><td>Tytuł</td></tr>
      <tr>
        <td width="610"><input type="text" name="tytul" width="500"></td>
      </tr>
      <tr><td>
      <?php
  $pytam = "SELECT * FROM strony WHERE parent = 0 ORDER BY id";
   $wynik = mysql_query($pytam);

          echo "<select name=\"parent\">";
          echo "<option value=\"0\">** brak **</option>";

          while($wiersz = mysql_fetch_array($wynik))
          {
          $sid = $wiersz["id"];
          $nazwa = $wiersz["temat"];

          echo "<option value=\"$sid\">$nazwa</option>";
          }
          echo "</select>";
?>

        </td>
      </tr>
      <tr><td>Opis</td></tr><tr><td style="height:300px">
      <?php
        $oFCKeditor = new FCKeditor('opis');
        $oFCKeditor->BasePath = 'fckeditor/';
        $oFCKeditor->Width= '600px';
        $oFCKeditor->Height= '400px';
        $oFCKeditor->Create();
        ?>
        </td></tr>
      <tr><td colspan="2" align="right"><input type="submit" name="dodaj_art" value="Zapisz"></td></tr>
    </table>
    
  </form>
  </fieldset>
  <?php
  if(isset($_POST['dodaj_art'])){
    mysql_query('INSERT INTO strony VALUES ("", "'.$tytul.'", "'.$opis.'", "0", "'.$sid.'")');
}
?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
JoShiMa
post 1.04.2008, 21:44:18
Post #2





Grupa: Zarejestrowani
Postów: 1 374
Pomógł: 149
Dołączył: 1.03.2006

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


A nie powinno być tak:

  1. <?php
  2. if(isset($_POST['dodaj_art'])){
  3.  mysql_query('INSERT INTO strony VALUES ("", "'.$_POST['tytul'].'", "'.$_POST['opis'].'", "0", "'.$_POST['parent'].'")'); 
  4. }
  5. ?>


zamiast wartości wysłanej przes skrypt pod zmienna $parent brałeś zmienną $sid którą wykorzystywałeś do tworzenia selecta

  1. <?php
  2. $sid = $wiersz["id"];
  3. ?>


Dlatego miałeś tam ostatnią wartość z selecta smile.gif

Poza tym poczytaj sobie o tym dlaczego należy używać tablic $_POST i $_GET. smile.gif

Ten post edytował JoShiMa 1.04.2008, 21:47:26


--------------------
Go to the top of the page
+Quote Post
marian84
post 1.04.2008, 21:52:34
Post #3





Grupa: Zarejestrowani
Postów: 185
Pomógł: 10
Dołączył: 29.01.2008

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


Cytat(JoShiMa @ 1.04.2008, 22:44:18 ) *
A nie powinno być tak:

  1. <?php
  2. if(isset($_POST['dodaj_art'])){
  3.  mysql_query('INSERT INTO strony VALUES (\"\"\"'.$_POST['tytul'].'\"\"'.$_POST['opis'].'\"\"0\"\"'.$_POST['parent'].'\")'); 
  4. }
  5. ?>


zamiast wartości wysłanej przes skrypt pod zmienna $parent brałeś zmienną $sid którą wykorzystywałeś do tworzenia selecta

  1. <?php
  2. $sid = $wiersz[&#092;"id\"];
  3. ?>


Dlatego miałeś tam ostatnią wartość z selecta smile.gif

Poza tym poczytaj sobie o tym dlaczego należy używać tablic $_POST i $_GET. smile.gif

nie do konca dobrze... tym razem czyta tylko pierwszą wartosc...

Ten post edytował marian84 1.04.2008, 21:52:54
Go to the top of the page
+Quote Post
JoShiMa
post 1.04.2008, 21:56:30
Post #4





Grupa: Zarejestrowani
Postów: 1 374
Pomógł: 149
Dołączył: 1.03.2006

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


Po wygenerowaniu skryptu podejrzyj w przeglądarce źródło strony i sprawdz, czy prawidłowo generujesz tego selecta, czyli jakie wartości mają poszczególne <option>


--------------------
Go to the top of the page
+Quote Post
marian84
post 1.04.2008, 22:01:00
Post #5





Grupa: Zarejestrowani
Postów: 185
Pomógł: 10
Dołączył: 29.01.2008

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


Czy coś nie tak?
<select name="parent"><option value="0">** brak **</option><option value="1">Strona1</option><option value="2">Strona2</option><option value="3">strona3</option><option value="15">Strona 4</option><option value="43">strona ostatnia</option><option value="44">qqqq</option><option value="45">asd</option><option value="46">qweq</option></select>



jest błąd!!.... przepraszam, za dużo wrazeń, jest ok wielkie dzieki, pomógł

Ten post edytował marian84 1.04.2008, 22:00:50
Go to the top of the page
+Quote Post
JoShiMa
post 1.04.2008, 22:07:18
Post #6





Grupa: Zarejestrowani
Postów: 1 374
Pomógł: 149
Dołączył: 1.03.2006

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


W takim razie upewnij się, że dobrze skonstruowałeś zapytanie (tak na marginesie te slesze nie są tam potrzebne).

Wyświetl sobie to zapytanie. Poza tym bezpieczniej jest używać tej wesrsji:
  1. INSERT INTO table1 (pole1,pole2, pole2) VALUES ('wartosc1','wartosc2','wartosc3');


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 22.06.2025 - 09:02