• 15 odgovora
  • 4.944 pregleda
Citanje iz baze pomocu php-a 19.04.2006. u 10:59 · pre 249 meseci #1
Pocetnik sam s php-om pa bih vas zamolio za pomoc.
Imam bazu imenik i u njoj tablicu imenik s tri polja(ime,prezime i broj)
Kada postavim SQL upit
SELECT * FROM `imenik` WHERE ime='Pero'
dobivam rezultat. Sada bi to htio dobiti s php-om
Napravim file procitaj.php

<?php
$link = mysql_connect('localhost', 'root', '');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db("Imenik");
$sql = mysql_query("SELECT * FROM 'imenik' WHERE ime='Pero'");
?>

Kada u brovser upisem
http://localhost/proba/procitaj.php
Dobivam potpuno praznu stranicu!!
A zelja mi je dobiti red s podacima koje sam dobio s SQL upitom.
Re: Citanje iz baze pomocu php-a 19.04.2006. u 12:21 · pre 249 meseci #3
Hvala.Sada sam ispravio i ovako napisao:

<?php
// Connecting, selecting database
$link = mysql_connect('localhost', 'root', '')
or die('Could not connect: ' . mysql_error());
echo 'Connected successfully';
mysql_select_db('Imenik') or die('Could not select database');

// Performing SQL query
$query = 'SELECT * FROM imenik';
$result = mysql_query($query) or die('Query failed: ' . mysql_error());
// Printing results in HTML
echo "<table>\n";
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
echo "\t<tr>\n";
foreach ($line as $col_value) {
echo "\t\t<td>$col_value</td>\n";
}
echo "\t</tr>\n";
}
echo "</table>\n";

// Free resultset
mysql_free_result($result);

// Closing connection
mysql_close($link);
?>

Sada radi:Dobije u browseru
Connected successfully
Darko Darkic 223344
Pero Peric 112233
Proba Probic 123456
Test Ivic 123456

Sada bi zelio dobiti samo jednog na popisu. I ispravim red:
$query = 'SELECT * FROM imenik WHERE ime='Darko'';

ali mi javlja gresku
Parse error: syntax error, unexpected T_STRING in C:\xampp\htdocs\proba\pro.php on line 9
Dakle u tom redu.Probao sam i sa jednom po jednom od slijedecih varijanti
$query = 'SELECT * FROM 'imenik' WHERE ime='Darko'';
$query = "SELECT * FROM 'imenik' WHERE ime='Darko'";
$query = 'SELECT * FROM 'imenik' WHERE ime='Darko'';
i opet isto...



Re: Citanje iz baze pomocu php-a 19.04.2006. u 12:36 · pre 249 meseci #4
Citat:

$query = 'SELECT * FROM 'imenik' WHERE ime='Darko'';

Ne mzoes tako da radis. Ti sad ovde otvaras string sa ', i zatvaras ga kod imenik i onda on ocekuje ; kao kraj reda, a ti mu pises nesto drugo.
Dakle, moglo bi:
1) $query = 'SELECT * FROM imenik WHERE ime=Darko';
2) $query = 'SELECT * FROM imenik WHERE ime="Darko"';
3) $query = "SELECT * FROM 'imenik' WHERE ime='Darko'";

ili nesto slicno. Moraces i da pogledas kako je potrebno da radis sa mysql-om - dakle, da li moze where ime="Darko" ili where ime = Darko. Konsultuj svoj mysql manual oko sintakse select ... where.
Potpis
Kad sve ostalo zakaže, pročitaj uputstvo...
Re: Citanje iz baze pomocu php-a 19.04.2006. u 12:42 · pre 249 meseci #5
@ Jbyn4e
Hvala
Ovako radi
$query = 'SELECT * FROM imenik WHERE ime="Darko"';

E sada jos jedno pitanje.Imam
<html>
<body><form action="procitaj.php" method="POST">
Upisite ime: <input type="text" />
<input type="submit" value="Trazi" name="submit"><br />
</form></body>
</html>

To mi je index.html file s formom.
Sada bih zelio da kada tu upisem ime i kliknem trazi da mi on to upisano ime uzme kao varijablu umjesto Darko....
Re: Citanje iz baze pomocu php-a 19.04.2006. u 13:06 · pre 249 meseci #6
Vidim ja da mi pravimo TOP temu - php/mysql zaq pocetnike?

Dakle, prvo da ti preporucim literaturu:
http://yu.php.net/docs.php
ili tacnije:
http://yu.php.net/docs-echm.php za extended varijantu (sa primerima)
Za kombinaciju php/mysql imas na netu milijardu uputstava, potrazi preko pretrazivaca "php mysql tutorial" ili pogledaj top teme vec ovde na php forumu, pisano je milijardu puta o tome.

Dalje, sto se tvog konkretnog problemna tice, pogledaj
http://yu.php.net/manual/en/language.variables.external.php
i
http://yu.php.net/variables.predefined
Potpis
Kad sve ostalo zakaže, pročitaj uputstvo...
Re: Citanje iz baze pomocu php-a 19.04.2006. u 13:59 · pre 249 meseci #7
Sada mi index.html file izgleda ovako:
<html>
<body><form action="pro.php" method="POST">
<td>Upisite ime</td>
<td align="center"><input type="text" name="ime" size="10"
maxlength="10" /></td>
<input type="submit" value="Trazi" name="submit"><br />
</form></body>
</html>

A pro.php ovako
<?php
// Connecting, selecting database
$link = mysql_connect('localhost', 'root', '')
or die('Could not connect: ' . mysql_error());
echo 'Connected successfully';
mysql_select_db('Imenik') or die('Could not select database');
$ime = $_POST['ime'];

// Performing SQL query
$query = 'SELECT * FROM imenik WHERE ime="$ime"';
$result = mysql_query($query) or die('Query failed: ' . mysql_error());
// Printing results in HTML
echo "<table>\n";
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
echo "\t<tr>\n";
foreach ($line as $col_value) {
echo "\t\t<td>$col_value</td>\n";
}
echo "\t</tr>\n";
}
echo "</table>\n";

// Free resultset
mysql_free_result($result);

// Closing connection
mysql_close($link);
//slijedeci red mi je samo za provjeru da vidim dali uzima varijablu
echo $ime
?>


Upisem ime i kliknem trazi ali on mi ne uzima upisano ime za varijablu...
A stavio sam mu i echo $ime i on mi ispise upisano ime(znaci to uzima kao varijablu.
Sto sam ovdje krivo napisao:
WHERE ime="$ime"';

Re: Citanje iz baze pomocu php-a 19.04.2006. u 14:05 · pre 249 meseci #8
posle linije $query = ...
stavi ispod :
echo $query;
pa vidi sta ti ispisuje.
generalno, mozes da koristis konkatenaciju za razdvajanje:
Citat:

$query = 'SELECT * FROM imenik WHERE ime=' . $ime; //da, dobro vidis, tacka je tu izmedju
odnosno
$query = 'SELECT polje1, polje2,polje3 FROM '. $tabela .'WHERE ime=' .$ime;


Potpis
Kad sve ostalo zakaže, pročitaj uputstvo...
Re: Citanje iz baze pomocu php-a 19.04.2006. u 14:11 · pre 249 meseci #9
Probao sam s .
Kada mu stavim
$query = 'SELECT * FROM imenik WHERE ime=".$ime"';
Nista mi ne pokazuje.A kada stavim
$query = 'SELECT * FROM imenik WHERE ime="Darko"';
Izbaci mi rezultat.
S time kada stavim
echo $ime
Ispise mi ime koje sam upisao(znaci uzima ga kao varijablu)
Re: Citanje iz baze pomocu php-a 19.04.2006. u 14:17 · pre 249 meseci #10
Kada stavim
echo $query;

Upisem Pero i kliknem trazi ispise mi

Connected successfullySELECT * FROM imenik WHERE ime="Pero"Pero Peric 112233


S time da bi ja zelio da mi ispise samo
Pero Peric 112233

Ovo da je uspjesna konekcija to nije problem izbrisati ali neka ostane za sada..
Re: Citanje iz baze pomocu php-a 19.04.2006. u 14:37 · pre 249 meseci #11
Citat:

$query = 'SELECT * FROM imenik WHERE ime=".$ime"';

Ne citas sta sam napisao. Gde vidis znakove navoda kod mene na kraju? Naravno da ti ne ispise ono sto treba jer nisi dobar select upit napravio.
Ispravno:
Citat:

$query = 'SELECT * FROM imenik WHERE ime='.$ime;
ili
$query = 'SELECT * FROM imenik WHERE ime="'.$ime.'"';

Obrati paznju na znake ' i ".
Ako neces da ti ispusuje query, pa ti ukini (izbrisi, komentarisi) ono echo $query;

Dosta je od mene danas, imam ja i neka druga posla :)
Potpis
Kad sve ostalo zakaže, pročitaj uputstvo...
Re: Citanje iz baze pomocu php-a 19.04.2006. u 14:49 · pre 249 meseci #12
@ Jbyn4e
Hvala puno si mi pomogao.
S ovim radi
$query = 'SELECT * FROM imenik WHERE ime="'.$ime.'"';

Ako moze jos jedno pitanje kako da ukljucim * u trazenje? t.j
da ne upisem puno ime nego recimo
Per*
a on da mi izbaci
Pero Peric 112233
Re: Citanje iz baze pomocu php-a 19.04.2006. u 15:06 · pre 249 meseci #13
zaboga starter, pa ovo ispade prava dopisna skola ovde :(
Zar niti jednu od ovih informacija nisi sam mogao da pronadjes? Internet, ocito, imas... :(

SELECT * from imenik where ime = 'Per%'

%ra - sve sto se zavrsava na 'ra'
Pe% - sve sto pocinje sa Pe
%pera% - sve sto sadrzi 'pera' u sebi...

ima toliko dokumentacije, procitaj malo, nece ti skoditi - garantujem :)

Poz,
Sale
Potpis
=========
Uporedi cene i karakteristike za vise od 10.000 proizvoda, izmedju ostalog:
Digitalni foto-aparati
Mobilni telefoni
Skolski pribor
=========
Re: Citanje iz baze pomocu php-a 19.04.2006. u 15:29 · pre 249 meseci #14
Smlilie, mislim da si zaboravio sql :P
Salim se, naravno, mozda moze tako (nisam nikad probao) ,ali uobicajeno je da se koristi LIKE.
Dakle
SELECT * from imenik where ime LIKE 'Per%'
ili jos bolje regular expression-i, a ako se dobro secam to ide nekako ovako:
SELECT * from imenik where ime REGEXP 'Per'

Za tacnu sintaksu konsultovati svoj mysql manual i select naredbu

A stvarno bi mogao malo da pocnes i da citas uputstva, ne sve da ti mi serviramo. Dosta je, odsad odgovaram samo ako budes iamo neki konkretan problem A NE ZNAS GDE DA NADJES RESENJE (a da nije u samom uputstvu, gde obicno i jeste).
Potpis
Kad sve ostalo zakaže, pročitaj uputstvo...
Re: Citanje iz baze pomocu php-a 20.04.2006. u 13:58 · pre 249 meseci #16
HVALA PUNO.

Sql komande sam pogledao u manual i to mi je jasno.Bunila me prilagodba u php-u.
Sada sam to rijesio
$query = 'SELECT * FROM imenik WHERE ime REGEXP "'.$ime.'"';

Dakle sada upisem Per ili Per* i kliknem trazi i on mi prikaze sve koji pocinju s tim imenom.

[Ovu poruku je menjao starter1 dana 20.04.2006. u 15:11 GMT+1]
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme