Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]Pomoc w dodawaniu rekordow!
Forum PHP.pl > Forum > Przedszkole
bolus150
Na wstepie chcialem przeprosic za zasmiecanie. Jestem uczniem pierszego roku technikum. Dostalem do napisania prace ktora bedzie zawierac laczenie sie z baza, usówanie, dodawanie, edycje rekordow. Mam juz laczenie i usowanie, lecz z dodawaniem i edycja nie mam pomyslu co zrobic.. Widzialem juz wiele skryptow ale niewiem jak je polaczyc mam taki program glowny:
Kod
   <html>
     <body>
     <title>Strona startowa</title>
     <?php
     $imie=$_GET['imie'];
     $nazwisko=$_GET['nazwisko'];
     $haslo1=$_GET['haslo1'];
     $haslo2=$_GET['haslo2'];
     if ($haslo1==$haslo2)
     {
     $link=mysql_connect("nazwa_serwera_bazy","nazwa_bazy","haslo");
     mysql_select_db("nazwa_bazy");
     $r = mysql_query("SELECT * FROM samochody");
     while ($w = mysql_fetch_row($r))
     {
     echo "$w[0] ,$w[1], $w[2], $w[3], $w[4]; <a href=\"usun.php?rejestracja=$w[3]\">Usuń </a>
     ";
     }
     mysql_free_result($r);
     mysql_close($link);
     echo '<a href="dodaj2.php"> Dodaj nowy </a>';
     echo "<b>Blad! hasla nie sa zgodne</b>";
     }
     ?>
     </body>
     </html>

Oraz usowanie:
Kod
   <html>
     <body>
     <?php
     $rejestracja=$_GET['rejestracja'];
     $link=mysql_connect("nazwa_serwera_bazy","nazwa_bazy","haslo");
     mysql_select_db("nazwa_bazy");
     $r = mysql_query("DELETE FROM samochody WHERE rejestracja='$rejestracja'");
     echo "Usunieto!
      <a href=\"program.php?rejestracja=$r[3]\">Powrót</a>";
     mysql_close($link);
     ?>
     </body>
     </html>

Mam jeszcze zaczete dodawanie.php ale nie mam pomyslu jak skonczyc. W kazdym razie chodzi o to zeby w dodawaniu wyskakiwalo jakies okno i pytalo lub moze byc jakias strona.
Prosze o pomoc!! Z gory dziekuje!
piotrooo89
1) dodawanie
robisz formularz w którym podajesz dane do dodania do bazy danych. odbierasz te dane $_POST/$_GET. filtrujesz za pomocą mysql_real_string_escape. dodajesz za pomocą INSERT INTO.

2) edycja
musisz jakoś przekazać co chcesz edytować najlepiej IHMO id danego rekordu. przekazać możesz przez $_GET. później robisz zwykłego UPDATE

a tak od razu polecam manual
bolus150
Do dodawania zrobilem takie cos, ale cos nie chce mi dzialac
Kod
<html>
<body>
<?php
$marka=$GET['marka'];
$model=$GET['model'];
$pojemnosc=$GET['pojemnosc'];
$rejestracja=$_GET['rejestracja'];
$rocznik=$GET['rocznik'];
$link=mysql_connect("adres_bazy_danych","nazwa","haslo");
mysql_select_db("nazwa");
$sql = mysql_query("'INSERT INTO `db758574`.`samochody` (`Marka`, `Model`, `Pojemnosc`, `Rejestracja`, `Rocznik`) VALUES (\'podaj_marke\', \'podaj_model\', \'podaj_pojemnosc\', \'podaj_rejestracja\', \'podaj_rocznik\');
echo "Dodano! <br> <a href=\"program.php?rejestracja=$r[3]\">Powrót</a>";
mysql_close($link);
?>
</body>
</html>
cos mi tu niedziala .. jesli w ogole takie cos bedzie ok
piotrooo89
  1. <?php
  2. $sql = mysql_query("'INSERT INTO `db758574`.`samochody` (`Marka`, `Model`, `Pojemnosc`, `Rejestracja`, `Rocznik`) VALUES ('podaj_marke', 'podaj_model', 'podaj_pojemnosc', 'podaj_rejestracja', 'podaj_rocznik') or die(mysql_error());
  3. ?>


zobacz sobie jaki Ci błąd wypluwa.

i tu mają być zmienne:
  1. <?php
  2. VALUES (&#092;'podaj_marke', 'podaj_model', 'podaj_pojemnosc', 'podaj_rejestracja', 'podaj_rocznik')
  3. ?>


bez tych \.
bolus150
Taki blad mi wyskakuje.
Parse error: syntax error, unexpected T_STRING in /var/www/sites/yoyo.pl/b/a/bazaja/dodaj4.php on line 12
Moj angielski jest slaby wiec nie wiem o co chodzi.. ale wiem ze chodzi o 12 linie a w niej jest takie cos:
Kod
echo "Dodano! <br> <a href=\"program.php?rejestracja=$r[3]\">Powrót</a>";
piotrooo89
poczytaj jakiś manual, serio Ci mówię, przyda Ci się.

  1. <?php
  2. $sql = mysql_query("INSERT INTO samochody SET
  3. Marka='".$marka."',
  4. Model='".$model."',
  5. Pojemnosc='".$pojemnosc."',
  6. Rejestracja='".$rejestracja."',
  7. Rocznik='".$rocznik."'") or die(mysql_error());
  8. ?>
bolus150
Dzieki piotrooo89 tylko jak zrobic zeby mi sie pytalo co ma dodac??snitch.gif
piotrooo89
Cytat(bolus150 @ 4.03.2009, 16:33:48 ) *
jak zrobic zeby mi sie pytalo co ma dodac?? snitch.gif


co? jak sie ma pytać.
bolus150
Cos w stylu Podaj marke , podaj model, podaj pojemnosc, itd. zeby dodawalo to do bazy
piotrooo89
no jak jak? w formularzu... przecież napisałem...
bolus150
No tak ale chodzilo by.. wyskoczylo cos takiego gdzie by pytalo o te wszystkie rzeczy... marke model pojemnosc itd.
erix
Może chodzi Ci o coś w stylu Thickboksa?
bolus150
Cytat(erix @ 4.03.2009, 17:41:57 ) *
Może chodzi Ci o coś w stylu Thickboksa?


wiesz jestem poczatkujacy o co chodzi w tym??
piotrooo89
a przez to że ty nie umiesz nam wytłumaczyć na czym ma polegać działanie Twojego skryptu nie jesteśmy Ci w stanie pomóc. może zbierz się w sobie i spróbuj to jakoś opisać.
bolus150
Chodzi mi o to... ze mam baze danych.. i przez skrypt musze do niej dodawac rekordy... czyli przez dodaj tak jak tlumaczylem.. napisalem do tego jeszcze html i prawie dziala moge podac strone na ktorej robie to... jesli chcecie..
piotrooo89
sprawa jest banalnie prosta.

piszesz formularz, następnie skrypt który go obsługuje tzn. odbiera to co zostało wysłane, filtruje dane, dodaje do bazy. wszystko masz w pierwszym poście który napisałem nie wiem co jest tam niezrozumiałe.
bolus150
mam .. formularz.. mozesz mi go sprawdzic??

Kod
<html>
  <head>
   <title>Dodawanie</title>
  </head>
  <body>
   <form method="get" action=dodaj4.php>
    <table border="0">
         <tr><td>Marka</td><td><input name="$marka" type="text"></td></tr>
         <tr><td>Model</td><td><input name="$model" type="text"></td></tr>
         <tr><td>Pojemnosc</td><td><input name="$pojemnosc" type="int"></td></tr>
         <tr><td>Rejestracja</td><td><input name="$rejestracja" type="text"></td></tr>
         <tr><td>Rocznik</td><td><input name="$rocznik" type="int"></td></tr>
         <tr><td colspan="2"><center><input type="submit" value="Dodaj"></center></td></tr>
     </table>
   </form
  </body>

</html>


i php

Kod
<html>
<body>

<?php
$marka=$GET['marka'];
$model=$GET['model'];
$pojemnosc=$GET['pojemnosc'];
$rejestracja=$_GET['rejestracja'];
$rocznik=$GET['rocznik'];
$link=mysql_connect("adres","nazwa","haslo");
mysql_select_db("nazwa");
$sql = mysql_query("INSERT INTO samochody SET
Marka='".$marka."',
Model='".$model."',
Pojemnosc='".$pojemnosc."',
Rejestracja='".$rejestracja."',
Rocznik='".$rocznik."'") or die(mysql_error());
echo "Dodano! <br> <a href=\"program.php?rejestracja=$r[3]\">Powrót</a>";
mysql_close($link);
?>
</body>
</html>


Co tu moze byc zle bo niby wszystko jest ok.. ale jak dam na strone glowna to nie widac tego co wpisalem tylko sa 0;/

mozna to sprawdzic na stronie
www.bazaja.yoyo.pl
piotrooo89
po co Ci te $ w tym:

  1. <tr><td>Marka</td><td><input name="$marka" type="text"></td></tr>


zrób tak:

  1. <tr><td>Marka</td><td><input name="marka" type="text"></td></tr>
bolus150
nadal to samo.;/
piotrooo89
oczywiście. masz tu błąd

  1. <?php
  2. $marka=$GET['marka'];
  3. ?>


nie ma tablicy super globalnej $GET jest co najwyżej $_GET zmień to.
bolus150
nadal nic moglbys to zobaczyc jest na stronie www.bazaja.yoyo.pl
piotrooo89
Cytat(bolus150 @ 4.03.2009, 19:34:51 ) *
nadal nic moglbys to zobaczyc jest na stronie www.bazaja.yoyo.pl


bo nie zmieniłeś tak jak mówiłem

  1. <tr><td>Marka</td><td><input name="$marka" type="text"></td></tr>
  2. <tr><td>Model</td><td><input name="$model" type="text"></td></tr>
  3. <tr><td>Pojemnosc</td><td><input name="$pojemnosc" type="int"></td></tr>
  4. <tr><td>Rejestracja</td><td><input name="$rejestracja" type="text"></td></tr>
  5. <tr><td>Rocznik</td><td><input name="$rocznik" type="int"></td></tr>


pousuwaj te $ w nazwach.
bolus150
tak mam
Kod
<html>
<head>
  <title>Dodawanie</title>
</head>
<body>
  <form method="get" action=dodaj4.php>
   <table border="0">
        <tr><td>Marka</td><td><input name="marka" type="text"></td></tr>
        <tr><td>Model</td><td><input name="model" type="text"></td></tr>
        <tr><td>Pojemnosc</td><td><input name="pojemnosc" type="int"></td></tr>
        <tr><td>Rejestracja</td><td><input name="rejestracja" type="text"></td></tr>
        <tr><td>Rocznik</td><td><input name="rocznik" type="int"></td></tr>
        <tr><td colspan="2"><center><input type="submit" value="Dodaj"></center></td></tr>
    </table>
  </form
</body>

</html>
piotrooo89
no i ok.

jeszcze żeby było ok to zmień tak:
  1. <form method="get" action="dodaj4.php">


i teraz pokaż plik dodaj4.php
bolus150
takie cos mam
Kod
<html>
<body>

<?php
$marka=$_GET['marka'];
$model=$_GET['model'];
$pojemnosc=$_GET['pojemnosc'];
$rejestracja=$_GET['rejestracja'];
$rocznik=$_GET['rocznik'];
$link=mysql_connect("adres","nazwa","pass");
mysql_select_db("nazwa");
$sql = mysql_query("INSERT INTO samochody SET
Marka='".$marka."',
Model='".$model."',
Pojemnosc='".$pojemnosc."',
Rejestracja='".$rejestracja."',
Rocznik='".$rocznik."'") or die(mysql_error());
echo "Dodano! <br> <a href=\"program.php?rejestracja=$r[3]\">Powrót</a>";
mysql_close($link);
?>
</body>
</html>
piotrooo89
a spróbuj tak, choć szczerze mówiąc nie wiem co może być nie tak:

  1. <?php
  2. mysql_select_db("nazwa", $link);
  3. ?>


na pewno masz OK połączenie z bazą?
bolus150
polaczenie mam napewno bo jak zrobie tak ... to widze w bazie ze mam nowy rekord i wszedzie 0 sa.. a ten sposob nie dziala;/

dobra jakos sobie poradzilem..winksmiley.jpg wielkie dzieki wszystkim tym co chcieli mi pomoc..exclamation.gif
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.