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

Pomoc!!! php/mysql

[es] :: PHP :: Pomoc!!! php/mysql

[ Pregleda: 1301 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Bojan Marinkovic
Kragujevac

Član broj: 135400
Poruke: 22
*.dynamic.sbb.rs.



Profil

icon Pomoc!!! php/mysql15.07.2008. u 08:52 - pre 192 meseci
Code:
$result2=mysql_query("SELECT * FROM kontakt",$con);
                                                        while ($row2=mysql_fetch_array($result2))
                                                            {
                                                                if ($row2["ime"]!=$ime and $row2["prezime"]!=$prezime and $row2["tel1"]!=$tel1)
                                                                    {
                                                                        mysql_query("INSERT INTO kontakt(ime,prezime,tel1,tel2,mob,fax,email,adresa) VALUES ('$ime','$prezime','$tel1','$tel2','$mob','$fax','$email','$adresa')",$con);
                                                                        echo "<table align='center'><tr><td>Uspešno ste uneli nov kontakt u bazu.</td></tr></table>";
                                                                        
                                                                    }                                                                
                                                                else
                                                                    {
                                                                        echo "<table align='center'><tr><td>Unos već postoji u bazi.</td></tr></table>";
                                                                        
                                                                    }
                                                                        
                                                            }



Ako neko moze da mi pomogne kako da pretrazim bazu slicno kao u ovom kodu ali da ne dobijam za svaki pogreseni unos poruku "Unos vec postoji u bazi." Znaci da prodje kroz celu bazu i ako nadje da uradi jedan deo koda, ili ako ne nadje da obavesti korisnika. Unapred hvala.

[edit: Nemanja: Kodove stavljaj u [code] tagove!]


[Ovu poruku je menjao Nemanja Avramović dana 15.07.2008. u 11:12 GMT+1]
 
Odgovor na temu

Jbyn4e

Član broj: 422
Poruke: 6049
*.yunix.co.yu.



+257 Profil

icon Re: Pomoc!!! php/mysql15.07.2008. u 09:39 - pre 192 meseci
Prvo, ono o cemu ti pricas su TABELE, a ne baze. Baza se sastoji od jedne ili vise tabela (barem kod mysql-a) i jos nekih drugih stvari koje ti sad nisu interesantne, (odnosno oracle-ovci bi to nazvali shema umesto baza).

Drugo, malo si konfuzan sta hoces da uradis. Imas select upit, obavesti se o WHERE uslovima kod SELECT upita. Ovo sto si ti napisao kod i radi ono sto si hteo - ako je nasao u tabeli (ako su isti ime, prezime i telefon), ispise da ga ima vec u bazi,a ako nema - ubacuje u tabelu novi kontakt.

Sta ti zelis u stvari da uradis?
Kad sve ostalo zakaže, pročitaj uputstvo...
 
Odgovor na temu

Bojan Marinkovic
Kragujevac

Član broj: 135400
Poruke: 22
*.dynamic.sbb.rs.



Profil

icon Re: Pomoc!!! php/mysql15.07.2008. u 09:55 - pre 192 meseci
Da tabele, na to sam i mislio :)
Kod radi, ali ako imam pet unosa i samo je jedan tacan, on mi prikaze jednu poruku "unos postoji" i cetiri puta ubaci novi unos, zato sto while prolazi kroz sve unose a if onda ispituje jedan po jedan i daje mi za svaki posebno odgovor. Meni treba uporedjivanje unosa iz tabele i onoga sto korisnik unese, ali da prodje celu tabelu, pa tek onda ako ne postoji da ubaci samo jedan novi unos, ili da prikaze samo jednu poruku. Nadam se da si razumeo sad.
 
Odgovor na temu

Jbyn4e

Član broj: 422
Poruke: 6049
*.yunix.co.yu.



+257 Profil

icon Re: Pomoc!!! php/mysql15.07.2008. u 10:10 - pre 192 meseci
U stvari ja nisam dobro napisao - kod ne radi kako treba (kad se malo bolje pogleda).
Moras se informisati o SELECT sql naredbi, NAROCITO o WHERE upitu.
Znaci,
Code:

SELECT * FROM tabela;

ce ti dati celu tabelu (koristi se vrrrrrrrrrllllllllooooo retko u ovoj kombinaciji, jer ti nikad ne treba cela tabela).
Nasuprot toga,
Code:

SELECT ime,prezime,tel1 FROM tabela where tel1='323233';

ce ti dati samo ta tri podatka (u jednom redu) i to za polje gde je uslov ispunjen, tj. tel1 jednak sa 323233.

Kad dobijes SAMO jedan podatak, nestaje ti i potreba za while (zasto bi isao kroz celu tabelu?), ostaje ti samo uslov za ispitivanje i SAMO JEDNA MOGUCA SITUACIJA.

Ovo sto si ti napisao ce upisati podatke onoliko puta u tabelu koliko imas razlicitih od tih koji zelis da proveris, primera radi imas:
Citat:

ime prezime 2222
ime1 prezime1 2333
ime2 prezime2 3333

recimo trazis da li ima ime prezime 2222. tvoj kod ce proci kroz celu tabelu (select * from tabela), ispitace da li je kod svakog jednaki ovi podaci - u prvom redu ce biti, i tu ce ispisati da vec postoji, ali vec u sledeca dva ce biti razliciti pa ce bez problema upisati u bazu. Tako da ces posle tvog koda u tabeli imati:
Citat:

ime prezime 2222
ime1 prezime1 2333
ime2 prezime2 3333
ime prezime 2222
ime prezime 2222

sto nisi zeleo... ako pokusas ponovo to da uradis, imaces 3 puta da vec postoji u bazi i 2 puta da ne postoji pa ce jos 2 puta upisati u bazu...

Jasnije?

P.S.
http://dev.mysql.com/doc/refman/5.0/en/select.html


Kad sve ostalo zakaže, pročitaj uputstvo...
 
Odgovor na temu

Bojan Marinkovic
Kragujevac

Član broj: 135400
Poruke: 22
*.dynamic.sbb.rs.



Profil

icon Re: Pomoc!!! php/mysql15.07.2008. u 10:57 - pre 192 meseci
Code:
$result2=mysql_query("SELECT ime,prezime,tel1 FROM kontakt WHERE ponuda.ime='$ime' AND ponuda.prezime='$prezime' AND ponuda.tel1='$tel1'",$con);
                                                        
                                                                if (!$result2)
                                                                    {
                                                                        mysql_query("INSERT INTO kontakt(ime,prezime,tel1,tel2,mob,fax,email,adresa) VALUES ('$ime','$prezime','$tel1','$tel2','$mob','$fax','$email','$adresa')",$con);
                                                                        echo "<table align='center'><tr><td>Uspešno ste uneli nov kontakt u bazu.</td></tr></table>";
                                                                        
                                                                    }                                                                
                                                                else
                                                                    {
                                                                        echo "<table align='center'><tr><td>Unos već postoji u bazi.</td></tr></table>";
                                                                        
                                                                    }



Kada uradim tako, svaki put mi unosi nov kontakt, nikada ne pronalazi isti iako u tabeli imam desetak istih unosa. I kad u if stavim isset($result2) izvrsi se samo prva mogucnost, a ova druga posle else kao da ne postoji, kao da je preskoci...

[edit: Nemanja: Kodove stavljaj u [code] tagove!]

[Ovu poruku je menjao Nemanja Avramović dana 15.07.2008. u 13:16 GMT+1]
 
Odgovor na temu

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

Moderator
Član broj: 32202
Poruke: 4391
91.150.104.*

Sajt: https://avramovic.info


+46 Profil

icon Re: Pomoc!!! php/mysql15.07.2008. u 12:17 - pre 192 meseci
http://www.php.net/mysql_num_rows
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

Jbyn4e

Član broj: 422
Poruke: 6049
*.yunix.co.yu.



+257 Profil

icon Re: Pomoc!!! php/mysql15.07.2008. u 12:56 - pre 192 meseci
Bojane, ono sto si ti uradio ovde je da si samo izvrsio upit, ali nigde nisi nasao sta se desilo sa upitom (znaci proverio si samo da li se izvrsio, a posto jeste - on je dodao sa insert).
Kad sam rekao da eliminises potrebu za while, nisam mislio da eliminises i potrebu da ucitas rezultate upita ($row2=mysql_fetch_array($result2)) ili barem da ispitas funkcijom koju ti je Nemanja ostavio koliko redova je vraceno....

Ajde polako, niko se naucen nije rodio, samo malo ukljuci logiku...

P.S. A sta ti je sad ponuda.ime i slicno? I generalno, ja sam ti samo dao primer select upita, a ti ga prilagodi svojim potrebama...
Kad sve ostalo zakaže, pročitaj uputstvo...
 
Odgovor na temu

Bojan Marinkovic
Kragujevac

Član broj: 135400
Poruke: 22
*.dynamic.sbb.rs.



Profil

icon Re: Pomoc!!! php/mysql15.07.2008. u 15:20 - pre 192 meseci
Uspelo je ovako:


$result2=mysql_query("SELECT ime,prezime,tel1 FROM kontakt WHERE kontakt.ime='$ime' AND kontakt.prezime='$prezime' AND kontakt.tel1='$tel1'",$con);
$row2=mysql_fetch_array($result2);
if ($row2[ime]!=$ime and $row2[prezime]!=$prezime and $row2[tel1]!=$tel1)
{
mysql_query("INSERT INTO kontakt(ime,prezime,tel1,tel2,mob,fax,email,adresa) VALUES ('$ime','$prezime','$tel1','$tel2','$mob','$fax','$email','$adresa')",$con);
echo "<table align='center'><tr><td>Uspešno ste uneli nov kontakt u bazu.</td></tr></table>";

}
else
{
echo "<table align='center'><tr><td>Unos već postoji u bazi.</td></tr></table>";

}

Onaj ponuda.ime se zagubio tu u kopiranju, a na ovu foru sve radi, za sad. Hvala puno!!!
 
Odgovor na temu

[es] :: PHP :: Pomoc!!! php/mysql

[ Pregleda: 1301 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

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