[PHP]Prosta ksiązka telefoniczna

Witam serdecznie. Mam do zrobienia mały skrypt z obsługą MySQL, która ma imitować książkę telefoniczną. Udało mi się wyświetlić rekordy z basy, dodać opcję usunięcia rekordów oraz dodanie nowego. Mam jednak problemy z opcją, która by edytowała istniejące już rekordy w tabeli. Skrypt nie chce ich w żaden sposób poprawiać, jak również nie pokazuje danych w wybranym polu edycji… Kombinowałem trochę z tym, ale niestety nie mogę sobie poradzić i bardzo bym prosił kogoś o pomoc. Oto to, co napisałem:

<?php

mysql_connect ( "localhost", "root", "xxxx") or

die ("Nie mozna polaczyc sie z MySQL");

mysql_select_db ("zal") or

die("Nie mozna polaczyc sie z baza ZAL");




if($_POST['oper']=='add')

{

if($_POST['Imie'] && $_POST['Nazwisko'] && $_POST['Numer'])

{

$query="INSERT INTO ksiazka (Imie, Nazwisko, Numer) VALUES";

$query.=" ('".$_POST['Imie']."', '".$_POST['Nazwisko']."', '".$_POST['Numer']."');";

$wynik=mysql_query($query);

}

}


elseif($_POST['oper']=='change')

{

if($_POST['Imie'] && $_POST['Nazwisko'] && $_POST['Numer'])

{

$query="UPDATE ksiazka SET Imie='".$_POST['Imie']."', Nazwisko=";

$query.="'".$_POST['Nazwisko']."', Numer='".$_POST['Numer']."' WHERE Id='".$_POST['Id']."';";

$wynik=mysql_query($query);

}

}


elseif($_GET['oper']=='edit')

{

$query="SELECT * FROM ksiazka WHERE Id='".$_GET['Id']."';";

$wynik=mysql_query($query);

$rekord=mysql_fetch_assoc($wynik);


$Id=$rekord['Id'];

$Imie=$rekord['Imie'];

$Nazwisko=$rekord['Nazwisko'];

$Adres=$rekord['Adres'];

$Numer=$rekord['Numer'];


print("id=$Id, imie=$Imie, nazwisko=$Nazwisko
");


print 'Poprawa rekordu:';

print '';

print '';

print '

| Imie: | |
| Nazwisko: | |
| Numer: | |

‘; } elseif($_GET[‘oper’]==‘del’) { $wynik=mysql_query("DELETE FROM ksiazka WHERE id=’".$_GET[‘id’]."’;"); } print(" “); print(“Ksiazka Telefoniczna”); print(” “); $res=mysql_query(“SELECT * FROM ksiazka;”) or die (“blad w pytaniu”); print( " print( " Imie** Nazwisko**”); print( “Numer\n” ); while($rekord=mysql_fetch_assoc ($res)) { $Id=$rekord[‘Id’]; $Imie=$rekord[‘Imie’]; $Nazwisko=$rekord[‘Nazwisko’]; $Numer=$rekord[‘Numer’]; print( “$Imie$Nazwisko$Numer”); print(" skasuj"); print(" edytuj\n"); } print(""); print(" "); print 'Nowy rekord: '; print ‘’; print ’

| Imie: | |
| Nazwisko: | |
| Telefon: | |

'; print ‘’; ?> [/code]

Sprawdź czy przy link, w który klikasz by zacząć edycję ma w sobie ID. Jeśli go nie ma to nic niepobierze się z bazy i nic sie nie zapisze, bo nie wiadomo którego ID ma dotyczyć edycja.

Link zawiera niestety Id w linku, to była również jedna z moich pierwszych myśli. Niestety obawiam się, że problemem jest jakiś drobny błąd… a męczę się ze skurczybykiem już dwa dni

EDIT: W końcu udało mi się odczytać dane z bazy! Problem leżał w tym, że napisałem Id zaczynając od wielkiej litery… Natomiast ze zmianą danych nadal jest problem. Tak czy siak, nowy kod:

EDIT2: Udało się! ;D Dziękuję za osobie, która się odezwała w temacie, udało się :slight_smile: Końcowy kod:

<?php

  mysql_connect ( "localhost", "root", "xxxx") or

  die ("Nie mozna polaczyc sie z MySQL");

  mysql_select_db ("zal") or

  die("Nie mozna polaczyc sie z baza ZAL");


  $x="a34534 ";


  if($_POST['oper']=='add')

 {

  if($_POST['Imie'] && $_POST['Nazwisko'] && $_POST['Numer'])

   {

    $query="INSERT INTO ksiazka (Imie, Nazwisko, Numer) VALUES";

    $query.=" ('".$_POST['Imie']."', '".$_POST['Nazwisko']."', '".$_POST['Numer']."');";

    $x=$query;

    $wynik=mysql_query($query);

   }

 }


  elseif($_POST['oper']=='change')

  {

    if($_POST['Imie'] && $_POST['Nazwisko'] && $_POST['Numer'])

      {

        $query="UPDATE ksiazka SET Imie='".$_POST['Imie']."', Nazwisko=";

        $query.="'".$_POST['Nazwisko']."', Numer='".$_POST['Numer']."' WHERE id='".$_POST['id']."';";

        $wynik=mysql_query($query);

      }

  }


  elseif($_GET['oper']=='edit')

   {

     $query="SELECT * FROM ksiazka WHERE id='".$_GET['id']."';";

     $wynik=mysql_query($query);

     $rekord=mysql_fetch_assoc($wynik);


     $Id=$rekord['Id'];

		 $Imie=$rekord['Imie'];

		 $Nazwisko=$rekord['Nazwisko'];

		 $Numer=$rekord['Numer'];


     print("id=$Id, imie=$Imie, nazwisko=$Nazwisko
");


     print 'Poprawa rekordu:';

     print '';

     print '';

     print '

| Imie: | |
| Nazwisko: | |
| Numer: | |

‘; } elseif($_GET[‘oper’]==‘del’) { $wynik=mysql_query("DELETE FROM ksiazka WHERE id=’".$_GET[‘id’]."’;"); } print(" “); print(“Ksiazka Telefoniczna”); print(” “); $res=mysql_query(“SELECT * FROM ksiazka;”) or die (“blad w pytaniu”); print( " print( " Imie** Nazwisko**”); print( “Numer\n” ); while($rekord=mysql_fetch_assoc ($res)) { $Id=$rekord[‘Id’]; $Imie=$rekord[‘Imie’]; $Nazwisko=$rekord[‘Nazwisko’]; $Numer=$rekord[‘Numer’]; print( “$Imie$Nazwisko$Numer”); print(" skasuj"); print(" edytuj\n"); } print(""); print(" "); print 'Nowy rekord: '; print ‘’; print ’

| Imie: | |
| Nazwisko: | |
| Telefon: | |

'; print ‘’; ?> [/code]

Hej, ja też mam do zrobienia książkę telefoniczną i powiedzcie mi jakie są tabelki w MySql?

Pozdrwiam

Dajesz co chcesz + id by rozróżnić wpisy ;]