Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: dodawanie danych do tabeli
Forum PHP.pl > Forum > PHP
marcintas
jak zrobic ze po wpisaniu danych które juz występuja w tabeli wywali komunikat takie dane juz istnieja i ich nie doda??
Largo
Witam,

Najlepiej po wykonaniu zapytania sprawdzać czy istnieją jakiekolwiek rekordy funkcją mysql_num_rows, następnie jeżeli istnieją obsłuż błąd i nie dodawaj :-)

  1. <?php
  2. if ( mysql_num_rows( $query ) == 1 )
  3. {
  4.      echo 'Istnieje taki rekord!';
  5. }
  6. else
  7. {
  8.      //Dodaj rekord
  9. }
  10. ?>


Pozdrawiam,
Largo
marcintas
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
  2.  "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl">
  4. <head>
  5.  <meta http-equiv="Content-type" content="application/xhtml+xml; charset=iso-8859-2" />
  6.  <meta name="Description" content=" [wstaw tu opis strony] " />
  7.  <meta name="Keywords" content=" [wstaw tu slowa kluczowe] " />
  8.  <meta name="Author" content=" [dane autora] " />
  9.  <meta name="Generator" content="kED" />
  10.  
  11.  <title> [tytuł strony] </title>
  12.  
  13.  <link rel="stylesheet" href=" [nazwa_arkusza_stylow.css] " type="text/css" />
  14. </head>
  15. <body>
  16.  
  17. <?php
  18.  
  19. $i = $_POST['imie'];
  20. $n = $_POST['nazwisko'];
  21.  
  22.  
  23. $dbh = mysql_connect('localhost','krasnal','15tass43') or die ('Blad polaczenia z baza' . mysql_error());
  24.  
  25. echo "Jest polaczenie";
  26. mysql_select_db('witryny1') or die ('Nie moge wybrac bazy');
  27.  
  28.  
  29. $zap = "insert into telefony(imie,nazwisko) values ('$i','$n')";
  30.  
  31. if ( mysql_num_rows( $query ) == 1 )
  32. {
  33.     echo 'Istnieje taki rekord!';
  34. }
  35. else
  36. {
  37.     //Dodaj rekord
  38. }
  39. //echo "$zap";
  40.  
  41.  
  42. echo "<form action=123.php method=post>
  43. <input type=submit name=Ok value=Ok>
  44. </form>";
  45.  
  46.  
  47.  
  48. ?>
  49.  
  50. </body>
  51. </html>

ogolnie mam trakie cos i w 32 linijce mo blad wywala moze nie w to miejsce dodalem tego if?
MK86
a masz gdzies wczesniej zmienna query w ogole?
Largo
Witam,

Nie powinienem podawać gotowców, ale zrobię wyjątek:
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
  2. "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl">
  4. <head>
  5. <meta http-equiv="Content-type" content="application/xhtml+xml; charset=iso-8859-2" />
  6. <meta name="Description" content=" [wstaw tu opis strony] " />
  7. <meta name="Keywords" content=" [wstaw tu slowa kluczowe] " />
  8. <meta name="Author" content=" [dane autora] " />
  9. <meta name="Generator" content="kED" />
  10.  
  11. <title> [tytuł strony] </title>
  12.  
  13. <link rel="stylesheet" href=" [nazwa_arkusza_stylow.css] " type="text/css" />
  14. </head>
  15. <body>
  16.  
  17. <?php
  18.  
  19. $i = $_POST['imie'];
  20. $n = $_POST['nazwisko'];
  21.  
  22.  
  23. $dbh = mysql_connect('localhost','krasnal','15tass43') or die ('Blad polaczenia z baza' . mysql_error());
  24.  
  25. echo "Jest polaczenie";
  26. mysql_select_db('witryny1') or die ('Nie moge wybrac bazy');
  27.  
  28.  
  29. $zap = mysql_query( "SELECT * FROM telefony WHERE imie = '$i' OR nazwisko = '$n'" );
  30.  
  31. if ( mysql_num_rows( $zap ) == 1 )
  32. {
  33.    echo 'Istnieje taki rekord!';
  34. }
  35. else
  36. {
  37.    $zap = mysql_query( "insert into telefony(imie,nazwisko) values ('$i','$n')" );
  38. }
  39.  
  40. echo "<form action=123.php method=post>
  41. <input type=submit name=Ok value=Ok>
  42. </form>";
  43.  
  44.  
  45.  
  46. ?>
  47.  
  48. </body>
  49. </html>


Warunek daje się po zapytaniu i wcześniej musisz sprawdzić w bazie danych czy istnieją takie dane. Następnie jeżeli istnieje - wywal błąd, inaczej dodaj rekord. Nie wiem czy działa nie sprawdzałem, ale masz zasadę podaną.

Pozdrawiam,
Largo
marcintas
ok dzieki dziala, pozdrawiam:)
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.