Poslao: 18 Feb 2006 00:17
|
offline
- Pridružio: 19 Jan 2005
- Poruke: 286
- Gde živiš: Tamo daleko,tj.Beograd City
|
POZzz
Zanima me kako mogu da izvucem podatke iz baze
npr
Unesem neki text preko html forme (text area),e sad zanima kad hocu da prepravim taj text da prepravim i vratim u bazu
POzzzz
|
|
|
Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
|
|
Poslao: 18 Feb 2006 23:05
|
offline
- Radovan_III
- Ugledni građanin
- Pridružio: 14 Nov 2003
- Poruke: 367
|
Ako si vec uneo teks a hoces da ga prepravis uradis upit teksta ubacis u textarea ili sta vec na submit uradis update teksta u bazi ....
|
|
|
|
Poslao: 27 Dec 2007 12:42
|
offline
- IlijaM
- Novi MyCity građanin
- Pridružio: 26 Dec 2007
- Poruke: 11
|
Citat:
Ako si vec uneo teks a hoces da ga prepravis uradis upit teksta ubacis u textarea ili sta vec na submit uradis update teksta u bazi ....
Moze jedan primer kao se ovo radi za nas pocetnike?
Nikako nece da mi radi kako treba
|
|
|
|
Poslao: 27 Dec 2007 13:44
|
offline
- Balkanac82
- Legendarni građanin
- Pridružio: 20 Dec 2004
- Poruke: 2887
- Gde živiš: Na Balkanu
|
IlijaM ::
Nikako nece da mi radi kako treba
Daj tvoj kod pa da se vidi gde je greška
|
|
|
|
Poslao: 27 Dec 2007 14:13
|
offline
- IlijaM
- Novi MyCity građanin
- Pridružio: 26 Dec 2007
- Poruke: 11
|
Ovako sam nesto zamislio:
Imam bazu IMENIK i u njoj tabelu PODACI, u tabeli su polja id, ime, prezime.
Napravio sam formu:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="sr" lang="sr">
<head><title>Promena</title></head>
<body >
<form name="forma" method=post action="promena.php" >
id:<input type="text" name="id" ><br /><br />
ime:<input type="text" name="ime" ><br /><br />
prezime:<input type="text" name="prezime" ><br /><br />
<input type="submit" name="pd" value="promeni" >
</form>
</body>
</html>
Napravio sam php skript promena.php:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="sr" lang="sr">
<head>
<title>Promena</title>
</head>
<body>
<?php
$server = "localhost";
$korisnik = "root";
$lozinka = "";
$baza = "imenik";
$tabela="podaci";
$konekcija = mysql_connect("$server", "$korisnik", "$lozinka") or die(mysql_error());
mysql_select_db("$baza",$konekcija) or die(mysql_error());
$sql = "UPDATE podaci SET ime='$ime' prezime='$prezime' WHERE id = id";
$rezultat = mysql_query($sql) or die(mysql_error());
if(mysql_affected_rows()>0)
echo "Podaci su promenuti";
else
echo "Podaci nisu promenuti";
?>
</body>
</html>
$sql = "UPDATE podaci SET ime='$ime' prezime='$prezime' WHERE id = id";
Ovo sigurno nema puno smisla ali ne mogu da ukapiram kao da promenim samo neke podatke iz tabele a da se pri tome ne promene svi podaci u tabeli.
Ako npr. imam ovo:
|r.br. | ime | prezime |
| 1 |petar| petrovic|
| 2 |pero | peric|
Kao da uradim da promenim npr. "petar" u "dejan" a da ostalo ostane isto?
|
|
|
|
Poslao: 27 Dec 2007 14:57
|
offline
- Strog
- Stručni saradnik
Web programiranje
- Bojan Kopanja
- Web & Mobile developer @ ZeusSoftware
- Pridružio: 26 Jul 2003
- Poruke: 2597
- Gde živiš: Stara Pazova
|
@IlijaM
Pa vrlo jednostavno... Samo napisi SET ime=$_POST['$ime'] i to je to, nista vise ne navodi u SET delu upita...
BTW taj upit ti nije ispravan koliko mi se cini posto ime i prezime moras da razdvojis zarezima, a i promenljive nece ovako da ti rade na svakom serveru ( ovako moze da radi samo ako je podeseno u php.ini da radi sa globals promenljivima ) tako da uvek koristi $_POST, a jos bi lepse bilo da koristis sprintf ( pogledaj proslu temu na kojoj sam ti pomogao, onu oko inserta! ).
|
|
|
|
Poslao: 27 Dec 2007 19:04
|
offline
- IlijaM
- Novi MyCity građanin
- Pridružio: 26 Dec 2007
- Poruke: 11
|
Opet nece, probao sam ovako:
$sql = sprintf( "UPDATE podaci SET ime=$_POST['$ime'] where id=10 ");
i ispisalo je puno gresaka, onda sam pokusao ovako:
$sql = sprintf( "UPDATE podaci SET ime='$_POST[$ime]' where id=10 ");
i to radi samo sto mi ispise "Podaci nisu promenuti"
Sta je greska?
|
|
|
|
|
Poslao: 27 Dec 2007 19:55
|
offline
- IlijaM
- Novi MyCity građanin
- Pridružio: 26 Dec 2007
- Poruke: 11
|
Za prvi kod izpise:
Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\wamp\www\ilija\promena.php on line 16
ali i sam vidim da ovaj kod ne valja
A za drugi kod ne izbaci nikakve greske vec ispise: "Podaci nisu promenuti"
|
|
|
|
Poslao: 27 Dec 2007 23:51
|
offline
- Strog
- Stručni saradnik
Web programiranje
- Bojan Kopanja
- Web & Mobile developer @ ZeusSoftware
- Pridružio: 26 Jul 2003
- Poruke: 2597
- Gde živiš: Stara Pazova
|
Logicno je da ti je za prvi slucaj izbacilo gresku posto nisi stavio pod navodnike, a radi se o string promenljivoj.
Predlazem ti da malo pogledas help za sprintf posto ga ne koristis na pravi nacin... Trebao bi ovako nekako da ga napises:
$sql = sprintf("UPDATE podaci SET ime='%s' where id=%s", $_POST['ime'], 10);
Znaci ovo mora 100% da ti radi ako postoji podatak sa id = 10!
Dalje... Obrati paznju na $_POST... Ti stavljas $ime a treba 'ime' da se stavlja u uglaste zagrade, tj. treba $_POST['ime'].
Predlazem ti da malo prelistas manual sa svim najcesce koriscenim komandama posto pravis neke previde koji ti ocigledno zadaju probleme iako ne daju nikakve greske.
Srecno .
|
|
|
|