Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dodawanie rekordu do bazy
Forum PHP.pl > Forum > Bazy danych > MySQL
Fibolg
Skrypcik:
[php:1:42916f8402]<?php
if($send=='Wyslij') {
mysql_connect ("127.0.0.1","root","krasnal");
mysql_select_db (zoz);
$zapytanie = "INSERT INTO kontakty SET Nazwa='$Nazwa', Telefon='$Telefon', E-mail='$E-mail'";
$wykonaj = mysql_query ($zapytanie);
echo "<BR>Dane dodane prawidłowo! Dziękujemy za wypełnieni formularza!";
}
else {
echo "<form method="get" action="dodawanie.php">
<div align="center">
<center>
<table border="1" width="50%" bordercolorlight="#000000" cellspacing="0" cellpadding="0">
<tr>
<td width="50%"><font size="2" face="Verdana">Nazwa:</font></td>
<td width="50%" align="center"><font size="2" face="Verdana"><input type="text" name="Nazwa" size="20"></font></td>
</tr>
<tr>
<td width="50%"><font size="2" face="Verdana">Telefon:</font></td>
<td width="50%" align="center"><font size="2" face="Verdana"><input type="text" name="Telefon" size="20"></font></td>
</tr>
<tr>
<td width="50%"><font size="2" face="Verdana">E-mail (przedrostek):</font></td>
<td width="50%" align="center"><font size="2" face="Verdana"><input type="text" name="E-mail" size="20"></font></td>
</tr>
<td width="100%" colspan="2">
<p align="center"><font size="2" face="Verdana"><input type="submit" value="Wyslij" name="send"><input type="reset" value="Kasuj" name="B2"></font></td>
</tr>
</table>
</center>
</div>
</form>";
}

?>[/php:1:42916f8402]

Moja baza nazywa się zoz, tabela kontakty i mam w niej kolumny Id Nazwa Telefon E-mail ... Co jeszcze może być nie tak? :/
Majdan
1. Dodaj kod pomiędzy znaczniki '
  1. <?php
  2. ', a '
  3. ?>
'.
2. Zamień wszystkie zmienne przesyłane na tablice '$_POST[]' lub '$_GET[]' w zależności od metody przesyłania danych.
Fibolg
Już zamieniłem smile.gif
Ale wszystko niby jest ok! Łączy się z bazą wykonuje zapytanie a nie dodaje wiersza :/ Tracę pomysły...
Majdan
A, spróbuj tak:
[php:1:38687b355a]<?php
// (...)
$zapytanie = "INSERT INTO kontakty ('Nazwa', 'Telefon', 'E-mail') VALUES('".$Nazwa."', '".$Telefon."','".$E-mail."')";
// (...)
?>[/php:1:38687b355a]
Fibolg
Nic nie dało rolleyes.gif
Można Cie na GG złapać?
Majdan
Oczywiście, numer jest w podpisie.

PS. Można edytować posty.
Fibolg
Z @Majdan'em doszliśmy do błędu
error: Something is wrong in your syntax obok '0'' w linii 1 numer bledu: 1064
ktoś ma jakieś pomysły? :/
Liko
[php:1:10e649efb9]<?php
$zapytanie = "INSERT INTO kontakty SET Nazwa='$Nazwa', Telefon='$Telefon', E-mail='$E-mail'";
?>[/php:1:10e649efb9]

Od kiedy zmienna ($E-mail) może być z myślnikiem questionmark.gif Raczej z podkreśleniem jak coś to zrób, tak samo z nazwą pola.

Cytat
Nazw zmiennych dotyczą te same reguły, co innych rodzajów nazw w php. Poprawna nazwa zmiennej zaczyna się od litery lub znaku podkreślenia "_", po których może wystąpić dowolna ilość liter, cyfr lub znaków podkreślenia.


:arrow: [manual:10e649efb9]variables[/manual:10e649efb9]
Majdan
Liko, to już sprawdzaliśmy. :?
borec
dodaj po $query = .. echo $query i pokaz jak wyglada
Fibolg
Nic nie zmienia sad.gif
Majdan
Fibolg, tu chodzi o to co wyświetli.
Liko
[php:1:2634ed8555]<?php
if($_GET['send']=='Wyslij') {
mysql_connect ("127.0.0.1","root","krasnal");
mysql_select_db ("zoz");
$zapytanie = "INSERT INTO kontakty SET Nazwa='${_GET['Nazwa']}', Telefon='${_GET['Telefon']}', E_mail='${_GET['E_mail']}'";
$wykonaj = mysql_query ($zapytanie);
echo "<BR>Dane dodane prawidłowo! Dziękujemy za wypełnieni formularza!";
}
else {
echo "
<form method="get" action="dodawanie.php">
<div align="center">
<center>
<table border="1" width="50%" bordercolorlight="#000000" cellspacing="0"
cellpadding="0">
<tr>
<td width="50%"><font size="2" face="Verdana">Nazwa:</font></td>
<td width="50%" align="center"><font size="2" face="Verdana"><input
type="text" name="Nazwa" size="20"></font></td>
</tr>
<tr>
<td width="50%"><font size="2" face="Verdana">Telefon:</font></td>
<td width="50%" align="center"><font size="2" face="Verdana"><input
type="text" name="Telefon" size="20"></font></td>
</tr>
<tr>
<td width="50%"><font size="2" face="Verdana">E-mail (przedrostek):</font></td>
<td width="50%" align="center"><font size="2" face="Verdana"><input
type="text" name="E_mail" size="20"></font></td>
</tr>
<td width="100%" colspan="2">
<p align="center"><font size="2" face="Verdana"><input type="submit"
value="Wyslij" name="send"><input type="reset" value="Kasuj"
name="B2"></font></td>
</tr>
</table>
</center>
</div>
</form>";
}
?>[/php:1:2634ed8555]

[sql:1:2634ed8555]
CREATE TABLE `kontakty` (
`id` MEDIUMINT AUTO_INCREMENT ,
`Nazwa` VARCHAR( 50 ) NOT NULL ,
`Telefon` MEDIUMINT NOT NULL ,
`E_mail` VARCHAR( 20 ) NOT NULL ,
INDEX ( `id` )
);
[/sql:1:2634ed8555]

Zrobiłem takie coś i mi działa wiec zobacz czy tobie tez.
Fibolg
Oho _get działa - dzięki :*
Fibolg
Jeszcze mam podobny mały problem z modyfikacją na tej samej bazie danych sad.gif Spróbowałem tym samym ale coś nie idzie... Pomożesz? smile.gif
[php:1:a11fa62616]<html>
<head>
<title></title>
</head>
<body>
<table border="1" width="98%" cellspacing="0" cellpadding="0" bordercolorlight="#000000">
<tr>
<td width="96%" colspan="7" bgcolor="#C0C0C0">
<p align="center"><b><font size="2">Kontakty</font></b></td>
</tr>
<tr>
<td width="4%" align="center" bgcolor="#E0E0E0">
<p align="center"><font size="2">&nbsp;ID</font></td>
<td width="18%" align="center" bgcolor="#E0E0E0">
<p align="center"><font size="2">Nazwa</font></td>
<td width="18%" align="center" bgcolor="#E0E0E0"><font size="2">Telefon</font></td>
<td width="18%" align="center" bgcolor="#E0E0E0"><font size="2">E- mail</font></td>
<td width="6%" align="center" bgcolor="#E0E0E0"><font size="2">Modyfikuj</font></td>
</tr>


<?php

mysql_connect ("127.0.0.1","root","krasnal");
mysql_select_db (zoz);

$zapytanie = "SELECT * FROM kontakty ORDER BY Nazwa ASC";
$wykonaj = mysql_query ($zapytanie);
while($wiersz=mysql_fetch_array ($wykonaj)) {
echo " <tr>
<td width="4%">".$wiersz['id']."</td>
<td width="18%">".$wiersz['Nazwa']."</td>
<td width="18%">".$wiersz['Telefon']."</td>
<td width="18%">".$wiersz['E_mail']."</td>
<td width="6%"><b><a href="modyfikacja.php?stan=modyf&idmodyf=".$wiersz['id']."">Modyfikacja</a></b></td>
</tr>";
}
if($stan=='modyf') {
$zapytanie = "SELECT * FROM kontakty where id=$idmodyf";
$wykonaj = mysql_query ($zapytanie);
$tablica = mysql_fetch_array($wykonaj);
echo "<form method="get" action="modyfikacja.php">
<div align="center">
<center>
<table border="1" width="50%" bordercolorlight="#000000" cellspacing="0" cellpadding="0">
<tr>
<td width="50%"><font size="2" face="Verdana">Nazwa</font></td>
<td width="50%" align="center"><font size="2" face="Verdana"><input type="text" name="Nazwa" value="".$tablica['Nazwa']."" size="20"></font></td>
</tr>
<tr>
<td width="50%"><font size="2" face="Verdana">Telefon</font></td>
<td width="50%" align="center"><font size="2" face="Verdana"><input type="text" name="Telefon" value="".$tablica['Telefon']."" size="20"></font></td>
</tr>
<tr>
<td width="50%"><font size="2" face="Verdana">E-mail</font></td>
<td width="50%" align="center"><font size="2" face="Verdana"><input type="text" name="E_mail" value="".$tablica['E_mail']."" size="20"></font></td>
</tr>
<td width="100%" colspan="2">
<p align="center"><font size="2" face="Verdana"><input type="hidden" name="modyfikuj" value="$idmodyf"><input type="submit" value="Modyfikuj" name="send"></font></td>
</tr>
</table>
</center>
</div>
</form>";

}
elseif ($send=='Modyfikuj'){$zapytanie = "UPDATE kontakty SET Nazwa='$Nazwa', Telefon='$Telefon', E-mail='$E_mail', WHERE id=$modyfikuj";
$wykonaj = mysql_query ($zapytanie);
echo "<br>Dane poprawione<BR><a href="modyfikacja.php">Obejrzyj poprawiona bazę</a>";}
else {

}
?>
</table>
</body>
</html>
[/php:1:a11fa62616]
Majdan
Chodzi chyba o nazwę kolumny. W lini 67 masz "E-mail", a chyba powinno być "E_mail".
[php:1:35e441faa6]<?php
// (...)
elseif ($send=='Modyfikuj'){$zapytanie = "UPDATE kontakty SET Nazwa='$Nazwa',
Telefon='$Telefon', E_mail='$E_mail', WHERE id=$modyfikuj";
// (...)
?>[/php:1:35e441faa6]
Fibolg
Oh tak to zauważyłem już po wysłaniu postu winksmiley.jpg Zapomniałem poprawić... ale tak czy inaczej to znowu nie to... Coś mi się ten kursik przestaje podobać... Nie wiem ,czy to ja coś chrznię, czy ten kurs jest "walnięty" :?
Liko
Musisz zmienic zmienne bo wysyłasz przy pomocy GET wiec nie rob tak

[php:1:ba642cb7cf]<?php
$zmienna
// tylko
$_GET['nazwa_zmiennej']
?>[/php:1:ba642cb7cf]
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.