Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Provera da li postoji zapis u bazi

[es] :: PHP :: PHP za početnike :: Provera da li postoji zapis u bazi

[ Pregleda: 2219 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

batasson
Nikola Pasic
Beograd

Član broj: 96246
Poruke: 148
95.180.70.*



Profil

icon Provera da li postoji zapis u bazi08.04.2011. u 00:30 - pre 158 meseci
Pozdrav,

Potrebna mi je pomoc. Treba da napisem kod koji ce unositi podatke u tabelu. Ali pre nego sto unese podatke, treba da se izvrsi provera da li ti podaci vec postoje. Evo kako sam ja to pokusao da uradim, pa posto ne funkcionise, ako neko zna da me uputi na ispravan nacin.

Primer:
Tabele: klijent(klijentID, ime) i racun(racunID, kolicina, klijentID)

Code:

$ime = $_POST['txtIme'];
$kolicina = $_POST['txtKolicina'];

$query = "SELECT kljentID FROM klijent";
$result = mysql_query($query);
$row = mysql_fetch_assoc($result);
$ID = $row['klijentID'];

if ($row < 1) {
$query = "INSERT INTO klijent(ime) VALUES ('{$ime}')";
mysql_query($query);

$query = "INSERT INTO racun(kolicina, klijentID)
            SELECT '{$kolicina}', klijentID    
            FROM klijent 
            WHERE klijentID = (SELECT MAX(klijentID) FROM klijent)";
mysql_query($query);

} else {
$query = "INSERT INTO racun(kolicina, klijentID)
            VALUES ('{$kolicina}', '{$ID}')";
mysql_query($query);


Evo ovo je taj kod, ali mi uvek pravi i novi zapis u tabeli klijent, cak i kad postoji isti zapis u tabeli klijent.
 
Odgovor na temu

ivan.a
PHP developer

Član broj: 83976
Poruke: 403
*.dynamic.isp.telekom.rs.



+44 Profil

icon Re: Provera da li postoji zapis u bazi08.04.2011. u 00:44 - pre 158 meseci
Tvoj upit selektuje sve unose jer ti fali WHERE.

Code:
$query = "SELECT kljentID FROM klijent WHERE ime = '".$ime."' ";
$result = mysql_query($query);

if (mysql_num_rows($result) >=1) {
//UNOS POSTOJI
} else {
         //UNOS NE POSTOJI - INSERT...
         }

I hope I didn't brain my damage - Homer
if (wife.position == kitchen) {return sandwich};
 
Odgovor na temu

batasson
Nikola Pasic
Beograd

Član broj: 96246
Poruke: 148
95.180.70.*



Profil

icon Re: Provera da li postoji zapis u bazi08.04.2011. u 09:32 - pre 158 meseci
Citat:
ivan.a: Tvoj upit selektuje sve unose jer ti fali WHERE.

Code:
$query = "SELECT kljentID FROM klijent WHERE ime = '".$ime."' ";
$result = mysql_query($query);

if (mysql_num_rows($result) >=1) {
//UNOS POSTOJI
} else {
         //UNOS NE POSTOJI - INSERT...
         }


"Lapsus", zaboravio sam da napisem where, ali i sa where nece da uradi to sto mi treba. Evo da pojasnim malo sta zelim da uradi:

Treba da se unesu podaci o klijentu i racunu (iz dva tekstualna polja). Pre unosa podataka u bazu, treba da se izvrsi provera da li ime tog klijenta vec postoji u bazi, ako postoji, da se iskoristi njegov id i unese u tabelu racun zajedno sa kolicinom kao novi zapis. Ako klijent ne postoji u bazi, onda treba da se unese i njegovo ime u tabelu klijent i da se u tabeli racun unese kolicina i klijentID poslednjeg kreiranog klijenta (tj. ime iz tekstualnog polja).

Hvala!
 
Odgovor na temu

Br@nkoR
http://localhost

Član broj: 2597
Poruke: 1603

Sajt: localhost


+23 Profil

icon Re: Provera da li postoji zapis u bazi08.04.2011. u 09:50 - pre 158 meseci
Citat:
batasson:
Code:

if ($row < 1) {



Citat:
ivan.a:
Code:

if (mysql_num_rows($result) >=1) {

Banned - Not available
 
Odgovor na temu

batasson
Nikola Pasic
Beograd

Član broj: 96246
Poruke: 148
95.180.70.*



Profil

icon Re: Provera da li postoji zapis u bazi08.04.2011. u 12:45 - pre 158 meseci
Nece. Evo ga konkretan zadatak koji resavam. Mozda sam nesto prevideo, ali ne mogu da uocim gresku.

Code:

$ime = $_POST['txtIme'];
$prezime = $_POST['txtPrezime'];
$telefon = $_POST['txtTelefon'];
$opis_kvara = $_POST['txtareaOpisKvara'];
$napomena = $_POST['txtareaNapomena'];
$datum_prijema = $_POST['txtDatumPrijema'];

$query = "SELECT klijentID FROM klijenti WHERE ime = '{$ime}' AND prezime = '{$prezime}' AND telefon = '{$telefon}'";
$result = mysql_query($query, $connection);
        
$row = mysql_fetch_assoc($result);
$ID = $row['klijentID'];
        
if(mysql_num_rows($result) >= 1) {
    $query1 = "INSERT INTO racunar (opis_kvara, napomena, klijentID)
               VALUES ('{$opis_kvara}', '{$napomena}', '{$ID}')";
    mysql_query($query1, $connection);
            
    $query2 = "INSERT INTO nalog (dat_prijema, racunarID)
               SELECT '{$datum_prijema}', racunarID
               FROM racunar
               WHERE racunarID = (SELECT MAX(racunarID) FROM racunar)";
    mysql_query($query2, $connection);
            
    header("location:nalog_kreiran.php");                    
} else {                        
    $query1 = "INSERT INTO klijent (ime, prezime, telefon)
               VALUES ('{$ime}', '{$prezime}', '{$telefon}')";
    mysql_query($query1, $connection);
            
    $query2 = "INSERT INTO racunar (opis_kvara, napomena, klijentID)
               SELECT '{$opis_kvara}', '{$napomena}', klijentID
               FROM klijent
               WHERE klijentID = (SELECT MAX(klijentID) FROM klijent)";
    mysql_query($query2, $connection);
            
    $query3 = "INSERT INTO nalog (dat_prijema, racunarID)
               SELECT '{$datum_prijema}', racunarID
               FROM racunar
               WHERE racunarID = (SELECT MAX(racunarID) FROM racunar)";
    mysql_query($query3, $connection);
            
    header("location:nalog_kreiran.php");
}


Konstantno mi pravi novi zapis u tabeli klijent iako vec postoji zapis sa istim imenom, prezimenom i brojem telefona.
 
Odgovor na temu

dakipro
Dalibor Jovic
Web Developer
Bergen, Norway

Moderator
Član broj: 31848
Poruke: 1792
*.dynamic.sbb.rs.

Sajt: norway.dakipro.com


+190 Profil

icon Re: Provera da li postoji zapis u bazi08.04.2011. u 12:53 - pre 158 meseci
dampuj ceo post, dampuj SQL pa vidi razliku i vidi sta trazi, i uporedi sta ima u bazi sve od podataka, tj rucno izvrsi quoery u phpamdinu
Znaci red po red, dump po damup, promenjiva po promenjiva, i videces negde sta ne odgovara ocekivanom stanju

 
Odgovor na temu

batasson
Nikola Pasic
Beograd

Član broj: 96246
Poruke: 148
95.180.70.*



Profil

icon Re: Provera da li postoji zapis u bazi08.04.2011. u 13:20 - pre 158 meseci
Ok. Upite mi nije problem da proverim u phpMyAdmin-u, ali kako da ubacim tamo php kod?
Ili kako da ubacim upit a da vrednosti kao sto su ime, prezime i telefon budu promenljive?
 
Odgovor na temu

Br@nkoR
http://localhost

Član broj: 2597
Poruke: 1603

Sajt: localhost


+23 Profil

icon Re: Provera da li postoji zapis u bazi08.04.2011. u 13:59 - pre 158 meseci
Odradi echo upita u PHP-u, pa ih izvrši u phpMyAdmin-u, vraća li šta mysql_error() za prvi upit.
Banned - Not available
 
Odgovor na temu

Br@nkoR
http://localhost

Član broj: 2597
Poruke: 1603

Sajt: localhost


+23 Profil

icon Re: Provera da li postoji zapis u bazi08.04.2011. u 14:01 - pre 158 meseci
Mada sada vidim u prvom upitu
Code:
FROM klijenti


A ispod
Code:
INSERT INTO klijent 

Banned - Not available
 
Odgovor na temu

batasson
Nikola Pasic
Beograd

Član broj: 96246
Poruke: 148
95.180.70.*



Profil

icon Re: Provera da li postoji zapis u bazi08.04.2011. u 14:44 - pre 158 meseci
HVALA PUNO Br@nkoR!

Sad radi sve kako treba.

Hvala i ostalim ana pomoci.
 
Odgovor na temu

[es] :: PHP :: PHP za početnike :: Provera da li postoji zapis u bazi

[ Pregleda: 2219 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.