Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]Eydcja oraz dodawanie
Forum PHP.pl > Forum > Przedszkole
Jarek099
Witam mam taki kod :
  1. <HTML LANG="pl">
  2. <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7">
  3. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  4. <?
  5. include 'dial.php'; //
  6.  
  7. $mysql = mysql_connect($host, $user, $password);
  8. mysql_select_db($baza, $mysql);
  9. $zapytanie= "SELECT * FROM `tabelka` ORDER BY id DESC LIMIT 0,10";
  10. $query=mysql_query($zapytanie);
  11.  
  12. echo'<table width="800" border="0" align="center">
  13. <tr>
  14. <td width="200" align="center">Gospodarz</td><td width="200" align="center">Gość</td> <td width="80" align="center">Wynik</td></tr>';
  15.  
  16. while($row=mysql_fetch_array($query)){
  17. $gospodarz = $row['1'];
  18. $gosc = $row['2'];
  19. $wynik = $row['3'];
  20. $wynik2 = $row['4'];
  21.  
  22. echo'<tr>
  23. <td width="50" align="center"><input type="text" name="nazwa" size="30" value="' . $gospodarz . '" /></td> <td width="225" align="center"><input type="text" name="nazwa" size="30" value="' . $gosc . '"/></td> <td width="225" align="center"><input type="text" name="nazwa" maxlength="2" size="3" value="' . $wynik . '" />&nbsp;:&nbsp;<input type="text" name="nazwa" size="3" maxlength="2" value="'. $wynik2 .'" /></td><td><button type="submit">zmien</buton></td>
  24. </tr>
  25.  
  26. ';
  27. }
  28.  
  29. </form>
  30. </table>";
  31. ?>


Mianowicie chciał bym zrobić tak by na podstawie tego kodu mógł bym dodawć do MySqla przez formularz .php i bym mógł edytować .
U mnie w książce niestety nie ma napiasne jak to uczynić .
Więc pytam sie tutaj czy znacie jakis tuturial albo wiecie jak cos takieg napisać
potreb
To poszukaj na forum, dodawanie i edycja rekordów.
Jarek099
Gdy robiłem przy funkcji insert into tabela values ( itd... ) to mi to nie działało ...
A na forum nie moge tego znaleśc
altruista2
Wstawianie rekordów:
  1. mysql_query("INSERT INTO Tabela (ID, Klucz, Wartosc) VALUES (1, 'Ulubione forum', 'forum.php.pl')");


Edycja rekordow:
  1. mysql_query("UPDATE Tabela SET Klucz='Najgorsze forum', Wartosc='forum.php.pl' WHERE ID=1");
Jarek099
Mój formularz wygląda tak :

  1.  
  2. <form action="dodaj1.php" method="post">
  3.  
  4. Gospodarze: <input type=text name=gospodarze maxlength=30 size=30><br><br>
  5. Goscie: <input type=text name=goscie maxlength=30 size=30><br><br>
  6. Wynik: <input type=text name=wynik maxlength=3 size=3><br><br>
  7. Wynikk:<input type=text name=wynikk maxlength=3 size=3><br><br><br>
  8.  
  9. <input type=submit value="Wstaw do bazy">
  10. </form>


A plik dodaj1.php wygląda tak :

  1. <?
  2. if (!$gospodarze || !$goscie || !$wynik|| !$wynikk)
  3.  
  4. {
  5. print "Nie zostały wypełnione wszystkie pola";
  6. }
  7.  
  8. $gospodarze = addslashes($gospodarze);
  9. $goscie = addslashes($goscie);
  10. $wynik = addslashes($wynik);
  11. $wynikk = addslashes($wynikk);
  12.  
  13. @$db = mysql_pconnect("localhost", "root", "krasnal");
  14. if (!$db)
  15. {
  16. print "Nie można nawiązać połączenia z bazą danych";
  17. }
  18.  
  19. mysql_select_db("tabelka");
  20.  
  21. $query = "insert into produkty values ('".$gospodarze."', '".$goscie."', '".$wynik."', '".$wynikk."')";
  22. $result = mysql_query($query);
  23.  
  24. if ($result)
  25. print "Towar <b>".$nazwaproduktu."</b> został dodany do bazy danych.";
  26. else { print "W bazie istnieje już produkt o tym numerze."; }
  27.  
  28. ?>


Tak to u mnie wygląda ale nic nie dodaje do bazy danych :|
Wiecie co jest źle ?
altruista2
Czytaj ze zrozumieniem... Napisałem Wstawianie rekordów:
  1. mysql_query("INSERT INTO Tabela (ID, Klucz, Wartosc) VALUES (1, 'Ulubione forum', 'forum.php.pl')");

A ty zrobiłeś tak:
  1. $query = "insert into produkty values ('".$gospodarze."', '".$goscie."', '".$wynik."', '".$wynikk."')";


Sam musisz zrozumieć co robisz źle snitch.gif
Jarek099
Cytat(altruista2 @ 14.02.2010, 12:41:31 ) *
Czytaj ze zrozumieniem... Napisałem Wstawianie rekordów:
  1. mysql_query("INSERT INTO Tabela (ID, Klucz, Wartosc) VALUES (1, 'Ulubione forum', 'forum.php.pl')");

A ty zrobiłeś tak:
  1. $query = "insert into produkty values ('".$gospodarze."', '".$goscie."', '".$wynik."', '".$wynikk."')";


Sam musisz zrozumieć co robisz źle snitch.gif


No ok ale ty stosujesz takie coś :
  1. mysql_query("INSERT INTO Tabela (ID, Klucz, Wartosc) VALUES (1, 'Ulubione forum', 'forum.php.pl')");

to co to jest te ID, Klucz, Wartość i do czego odwołuje sie 1,Ulubione itd. ?
Bo nie kumam
altruista2
Nazwy kolumn w tabeli. Czyli stawiam że powinieneś mieć:
  1. $query = "insert into produkty (gospodarze, goscie, wynik, wynikk) values ('".$gospodarze."', '".$goscie."', '".$wynik."', '".$wynikk."')";

gdzie
Cytat
...odukty (gospodarze, goscie, wynik, wynikk) valu...

to nazwy kolumn w tabeli produkty

Składnia:
  1. INSERT INTO
  2. Nazwa_tabeli
  3. (Kolumna1, Kolumna2, Kolumna3)
  4. VALUES
  5. ('WartoscKolumny1','WartoscKolumny2','WartoscKolumny3')

W ten sposób możesz też dodawać parę wierszy, np.:
  1. INSERT INTO
  2. Nazwa_tabeli
  3. (Kolumna1, Kolumna2, Kolumna3)
  4. VALUES
  5. ('WartoscKolumny1','WartoscKolumny2','WartoscKolumny3'),
  6. ('WartoscKolumny1','WartoscKolumny2','WartoscKolumny3'),
  7. ('WartoscKolumny1','WartoscKolumny2','WartoscKolumny3'),
  8. ('WartoscKolumny1','WartoscKolumny2','WartoscKolumny3'),
  9. ('WartoscKolumny1','WartoscKolumny2','WartoscKolumny3'),
  10. ('WartoscKolumny1','WartoscKolumny2','WartoscKolumny3'),
  11. ('WartoscKolumny1','WartoscKolumny2','WartoscKolumny3'),
  12. ('WartoscKolumny1','WartoscKolumny2','WartoscKolumny3'),
  13. ('WartoscKolumny1','WartoscKolumny2','WartoscKolumny3')

Jarek099
Zrobiłem tak i dodaje do bazy danych ...

  1. <?
  2. include ('dial.php');
  3.  
  4.  
  5. $query = "insert into tabelka (GOSPODARZ, GOSC, WYNIK, WYNIKK) values ('1', '2', '3', '4')";
  6. $result = mysql_query($query);
  7. {
  8. $gospodarz = $row['1'];
  9. $gosc = $row['2'];
  10. $wynik = $row['3'];
  11. $wynik2 = $row['4'];
  12.  
  13. echo (' <form action="dodajemy.php" method="post"> ');
  14.  
  15. echo ('
  16. Gospodarze: <input type=text name=1 maxlength=30 size=30><br><br>
  17. Goscie: <input type=text name=2 maxlength=30 size=30><br><br>
  18. Wynik: <input type=text name=3 maxlength=3 size=3><br><br>
  19. Wynikk:<input type=text name=4 maxlength=3 size=3><br><br><br>
  20. <input type=submit value="Wstaw do bazy"> ');
  21.  
  22.  
  23. echo ('</form>');
  24.  
  25. }
  26. ?>


z tym że dodaje mi do bazy to co mam pogrubione :

$query = "insert into tabelka (GOSPODARZ, GOSC, WYNIK, WYNIKK) values ('1', '2', '3', '4')";

a gdy dałem to :

1.
$query = "insert into produkty (gospodarze, goscie, wynik, wynikk) values ('".$gospodarze."', '".$goscie."', '".$wynik."', '".$wynikk."')";

to tworzyło mi puste wyniki w bazie danych...
I co zrobić ?
altruista2
Bo zmienne $gospodarze, $goscie, $wynik, $wynikk były puste... Musisz dodać przed zapytaniem:
  1. $gospodarze = $_POST['gospodarze'];
  2. $goscie = $_POST['goscie'];
  3. $wynik = $_POST['wynik'];
  4. $wynikk = $_POST['wynikk'];


Z tym że musisz pamiętać o zabezpieczeniu się:
Temat: SQL Injection Insertion
Jarek099
No ok całość tego pliku wyszła mi tak :
  1. <?
  2. include ('dial.php');
  3. $gospodarze = $_POST['gospodarze'];
  4. $goscie = $_POST['goscie'];
  5. $wynik = $_POST['wynik'];
  6. $wynikk = $_POST['wynikk'];
  7.  
  8. $query = "insert into tabelka (gospodarze, goscie, wynik, wynikk) values ('".$gospodarze."', '".$goscie."', '".$wynik."', '".$wynikk."')";
  9. $result = mysql_query($query);
  10.  
  11. {
  12. echo (' <form action="dodajemy.php" method="post"> ');
  13. echo ('
  14. Gospodarze: <input type=text name=gospodarze maxlength=30 size=30><br><br>
  15. Goscie: <input type=text name=goscie maxlength=30 size=30><br><br>
  16. Wynik: <input type=text name=wynik maxlength=3 size=3><br><br>
  17. Wynikk:<input type=text name=wynikk maxlength=3 size=3><br><br><br>
  18. <input type=submit value="Wstaw do bazy"> ');
  19. echo ('</form>');
  20.  
  21. }
  22. ?>


Z tym że nie dodaje mi tego do bazy danych
altruista2
Za rączkę...

  1. $query = "insert into tabelka (gospodarze, goscie, wynik, wynikk)

Pewnie nazwy kolumn są złe...
Jarek099
Ok dzięki działa exclamation.gif!!
lnn
a czytales temat zanim zadasz pytanie: http://forum.php.pl/index.php?showtopic=44...t=0&start=0 questionmark.gif nawet sobie nie wyswietliles co moze byc zle mysql_error() i sie glupkowato dopytujesz podstaw ktore sa w kazdym kursie, moze warto byloby najpierw zrozumiec podstawy ? bo widze ze nawet nie wiesz co robisz w skrypcie tylko walisz na pałe z ksiazki
Jarek099
Sie poprostu ucze na przykladach jutro mi przyjdzie 2 ksiązka php i sql ...
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.