Probleme la UPDATE
Moderatori: Moderatori, Start Moderator
-
vlivius1
- Senior Member
- Mesaje: 399
- Membru din: Dum Aug 12, 2007 3:50 pm
- Localitate: Bucuresti
- Contact:
Probleme la UPDATE
Am o problema careia nu pot sa-i dau de cap de 3 zile, nu stiu cum sa-i mai dau de cap.
Am un tabel in care mi se afiseaza datele dupa apasarea butonului "modifica" am reusit sa-l fac sa-mi afiseze datele respectivului id.
Datele din acel tabel le iau cu "POST", dar nu reusesc sa iau datele din baza de date ca sa le modific.
Acesta este scriptul care l-am facut si ma schinuie:
<?
include("connect.php");
$id = $_GET['id'];
$c="SELECT * FROM agendatelefonica WHERE id = '$id' ";
$r = mysql_query($c) or die("EROARE SQL:".mysql_error());
while($rand = mysql_fetch_array($r))
$n = $_POST['nume'];
$p = $_POST['prenume'];
$a = $_POST['adresa'];
$t = $_POST['telefon'];
$num = $rand['nume'];
$pre = $rand['prenume'];
$adr = $rand['adresa'];
$tel = $rand['telefon'];
$cerere = "UPDATE `agendatelefonica` SET nume='$n', prenume='$p', adresa='$a', telefon= '$t' WHERE nume='$num', prenume= '$pre', adresa= '$adr', telefon= '$tel'";
mysql_query($cerere);
echo ''.$cerere.'';
?>
Am un tabel in care mi se afiseaza datele dupa apasarea butonului "modifica" am reusit sa-l fac sa-mi afiseze datele respectivului id.
Datele din acel tabel le iau cu "POST", dar nu reusesc sa iau datele din baza de date ca sa le modific.
Acesta este scriptul care l-am facut si ma schinuie:
<?
include("connect.php");
$id = $_GET['id'];
$c="SELECT * FROM agendatelefonica WHERE id = '$id' ";
$r = mysql_query($c) or die("EROARE SQL:".mysql_error());
while($rand = mysql_fetch_array($r))
$n = $_POST['nume'];
$p = $_POST['prenume'];
$a = $_POST['adresa'];
$t = $_POST['telefon'];
$num = $rand['nume'];
$pre = $rand['prenume'];
$adr = $rand['adresa'];
$tel = $rand['telefon'];
$cerere = "UPDATE `agendatelefonica` SET nume='$n', prenume='$p', adresa='$a', telefon= '$t' WHERE nume='$num', prenume= '$pre', adresa= '$adr', telefon= '$tel'";
mysql_query($cerere);
echo ''.$cerere.'';
?>
Cam asa:
<?
include("connect.php");
$id = $_GET['id'];
$c="SELECT * FROM agendatelefonica WHERE id = '$id' ";
$r = mysql_query($c) or die("EROARE SQL:".mysql_error());
while($rand = mysql_fetch_array($r))
{
$n = $_POST['nume'];
$p = $_POST['prenume'];
$a = $_POST['adresa'];
$t = $_POST['telefon'];
$num = $rand['nume'];
$pre = $rand['prenume'];
$adr = $rand['adresa'];
$tel = $rand['telefon'];
$cerere = "UPDATE `agendatelefonica` SET nume='$n', prenume='$p', adresa='$a', telefon= '$t' WHERE nume='$num', prenume= '$pre', adresa= '$adr', telefon= '$tel'";
mysql_query($cerere);
echo ''.$cerere.'';
}
?>
<?
include("connect.php");
$id = $_GET['id'];
$c="SELECT * FROM agendatelefonica WHERE id = '$id' ";
$r = mysql_query($c) or die("EROARE SQL:".mysql_error());
while($rand = mysql_fetch_array($r))
{
$n = $_POST['nume'];
$p = $_POST['prenume'];
$a = $_POST['adresa'];
$t = $_POST['telefon'];
$num = $rand['nume'];
$pre = $rand['prenume'];
$adr = $rand['adresa'];
$tel = $rand['telefon'];
$cerere = "UPDATE `agendatelefonica` SET nume='$n', prenume='$p', adresa='$a', telefon= '$t' WHERE nume='$num', prenume= '$pre', adresa= '$adr', telefon= '$tel'";
mysql_query($cerere);
echo ''.$cerere.'';
}
?>
-
vlivius1
- Senior Member
- Mesaje: 399
- Membru din: Dum Aug 12, 2007 3:50 pm
- Localitate: Bucuresti
- Contact:
fakker scrie:vlivius1 scrie:Cu {} am incercat si eu dar tot nu vrea,
Dar de ce iei datele cu POST si id-ul cu GET?
Si echo ''.$cerere.''; afiseaza ceva?
Asta afiseaza ".$cerere." :
UPDATE `agendatelefonica` SET nume='', prenume='Daniel', adresa='Bucuresti', telefon= '2248536' WHERE nume='', prenume= '', adresa= '', telefon= ''
Dar tu sigur ai vreun rand in tabel cu id-ul pe care il cauti? E ceva aiurea acolo. Adica din cate inteleg $num, $pre, $adr si $tel, adica variabile ale caror valori le preiei din baza de date sunt nule.
Si inca o chestie pe care nu o inteleg (desi nu asta e problema): la ce ai nevoie de un while, atata timp cat, cu selectul ala tu oricum selectezi doar un rand din tabel (banuiesc ca id-ul ala e unic pentru fiecare rand de inregistrari, nu?)
Si inca o chestie pe care nu o inteleg (desi nu asta e problema): la ce ai nevoie de un while, atata timp cat, cu selectul ala tu oricum selectezi doar un rand din tabel (banuiesc ca id-ul ala e unic pentru fiecare rand de inregistrari, nu?)
-
vlivius1
- Senior Member
- Mesaje: 399
- Membru din: Dum Aug 12, 2007 3:50 pm
- Localitate: Bucuresti
- Contact:
fakker scrie:Dar tu sigur ai vreun rand in tabel cu id-ul pe care il cauti? E ceva aiurea acolo. Adica din cate inteleg $num, $pre, $adr si $tel, adica variabile ale caror valori le preiei din baza de date sunt nule.
Si inca o chestie pe care nu o inteleg (desi nu asta e problema): la ce ai nevoie de un while, atata timp cat, cu selectul ala tu oricum selectezi doar un rand din tabel (banuiesc ca id-ul ala e unic pentru fiecare rand de inregistrari, nu?)
In tabel am pus asta:
include("connect.php");
$id = $_GET['id'];
$c="SELECT * FROM agendatelefonica WHERE id = '$id' ";
$r = mysql_query($c) or die("EROARE SQL:".mysql_error());
while($rand = mysql_fetch_array($r)) {
echo '
<form name="form1" method="post" action="modificaredate.php">
<table width="354" border="1" align="center">
<tr>
<th colspan="2" scope="col"><div align="center">Modificare date </div></th>
</tr>
<tr>
<td width="107"><div align="center">Nume:</div></td>
<td width="200"><label>
<input name="nume" type="text" value="'.$rand['nume'].'">
</label></td>
</tr>
<tr>
<td><div align="center">Prenume:</div></td>
<td><label>
<input name="prenume" type="text" value="'.$rand['prenume'].'">
</label></td>
</tr>
<tr>
<td><div align="center">Adresa:</div></td>
<td><label>
<input name="adresa" type="text" value="'.$rand['adresa'].'">
</label></td>
</tr>
<tr>
<td><div align="center">Telefon:</div></td>
<td><label>
<input name="telefon" type="text" value="'.$rand['telefon'].'">
</label></td>
</tr>
<tr>
<td><div align="center"></div></td>
<td><label>
<input type="submit" name="Submit" value="Submit">
</label></td>
</tr>
</table>
</form>
';
}
?>
Variabile acestea : $num, $pre, $adr si $tel le iau din tabel. Am facut acel tabel ca sa-mi afiseze intr-un textfield datele care urmeaza a fi modificate. In acel textfield eu modific deja datele existente cu cele noi, iar variabilele $num, $pre, $adr si $tel preia datele din acel tabel.
ID-ul este unic.
Am folosit tot scriptul cu while pentru ca sunt incepatorul incepatorilor (doar de 2 saptamani lucrez cu php)
Asa era scriptul pentru extragerea datelor din baza de date, eu am folosit acel script ca sa extrag cu WHERE numele.
vezi asa
Cod: Selectaţi tot
..................................................................................................
$cerere = "UPDATE `agendatelefonica` SET nume='$n', prenume='$p', adresa='$a', telefon= '$t' WHERE id = '".$rand['id']."'";
$rezultat = mysql_query($cerere);
if($rezultat) {
print "Update ok";
}else{
print mysql_error();
}
si vezi ce eroare iti da
si baga si un error_reporting(E_ALL) la inceputul scriptului pentru orice eventualitate
-
vlivius1
- Senior Member
- Mesaje: 399
- Membru din: Dum Aug 12, 2007 3:50 pm
- Localitate: Bucuresti
- Contact:
crivion scrie:vezi asaCod: Selectaţi tot
..................................................................................................
$cerere = "UPDATE `agendatelefonica` SET nume='$n', prenume='$p', adresa='$a', telefon= '$t' WHERE id = '".$rand['id']."'";
$rezultat = mysql_query($cerere);
if($rezultat) {
print "Update ok";
}else{
print mysql_error();
}
si vezi ce eroare iti da
si baga si un error_reporting(E_ALL) la inceputul scriptului pentru orice eventualitate
Imi spune ca update-ul este ok
Spune-mi te rog unde trebui sa scriu si cum sa scriu pentru E_ALL
-
vlivius1
- Senior Member
- Mesaje: 399
- Membru din: Dum Aug 12, 2007 3:50 pm
- Localitate: Bucuresti
- Contact:
Am rezolvat-o baieti, a venit un prieten si si-a aruncat un ochi, asa cum a asups "fakker" mai sus nu aveam in tabel scris ceva care trebuia sa-i dea ID, tipul mi-a scris ceva cu hidden:
<form name="form1" method="post" action="modificaredate.php">
<input type="hidden" name="id" value="'.$rand['id'].'" />
....
<form name="form1" method="post" action="modificaredate.php">
<input type="hidden" name="id" value="'.$rand['id'].'" />
....
Cine este conectat
Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 39 vizitatori