Conectare si afisare rezultate

Întrebări legate de conectarea la baze de date MySQL prin intermediul PHP

Moderatori: Zamolxe, Moderatori

dered
PHPRomania Supporter
Mesaje: 16
Membru din: Mar Dec 30, 2008 10:27 pm

Conectare si afisare rezultate

Mesajde dered » Dum Apr 26, 2009 12:39 am

Am o baza de date dbname cu un tabel: wp_users care are 3 campuri: id, user_login, user_email. Vreau ca intr-o pagina web sa se afiseze toate inregistrarile din tabelul users (toate cele 3 campuri), ceva de genu:
id login email
1 vasile email @ email.com
etc
Ma tot chinui cu codul si nu-mi iese, daca aveti rabdare sa ma ajutati si pe mine...ca stau de 5 ore si-mi bat capul cu afisarea.


[code]
<?php
$server = 'servername';
$database = 'dbname';
$username = 'user';
$password = 'pass';

$connection = mysql_connect($server, $username, $password);
echo "conected ";
if (!$connection) {
die('Could not connect to MySQL database, the server return the error: ' . mysql_error());
}
$db = @mysql_select_db($database);
echo "conected to db";
//int

//show

$query = mysql_query("SELECT * FROM `wp_users`");
$row = mysql_num_rows($query);




mysql_close();



echo "<b><center>results</center></b><br><br>";

$i=0;
while ($i < $row) {

$email=mysql_query("user_email");
$login=mysql_query("user_login");

echo "<b>$i $email $login</b>
<br><hr><br>";

++$i;
}

?>
Ultima oară modificat Dum Apr 26, 2009 12:01 pm de către dered, modificat de 4 ori în total.



olympia
Senior Member
Mesaje: 374
Membru din: Lun Mai 26, 2008 11:12 pm
Contact:

Mesajde olympia » Dum Apr 26, 2009 2:01 am

uita-te si tu aici:



gasesti mai multe rezolvari. daca nu intelegi ceva, spune.

dered
PHPRomania Supporter
Mesaje: 16
Membru din: Mar Dec 30, 2008 10:27 pm

php

Mesajde dered » Dum Apr 26, 2009 11:41 am


Avatar utilizator
Ctek
Senior Member
Mesaje: 310
Membru din: Dum Oct 05, 2008 12:05 am
Contact:

Mesajde Ctek » Dum Apr 26, 2009 2:29 pm

ok,

Nu e bine cum incerci tu sa faci
Mysql_query - iti executa un query adica ce ai scris tu in variabila $query.

pentru ca ce faci tu cu mysql_query e sa trimiti in mysql doua siruri de caractere "user_name" si "user_login" care nu vor face nimic.

$rezultat=Mysql_query($query,$connection); - este forma corecta
De ce ? Pai ... In variabila $rezultat vei pastra rezultatul query-ului tau care ti-l intoarce Mysql_query($query).

$query, este sirul de instructiuni ce va fi rulat in mysql.
Mysql_query este functia care iti permite sa rulezi acel sir de instructiuni.

Deci, Ai $query care contine instructiunile, si instructiunea care efectiv ruleaza instructiunile in mysql adica mysql_query.
Iar ce rezulta din rularea pe server a ce instructiuni ai scris tu, va fi stocat in $rezultat.

Daca ai inteles pana aici e bine.

Acum in $rezultat tu ai resultatele sub forma de array (sau vector).
Ca sa poti sa extragi rezultatele din acea variabila trebuie sa folosesti una dintre functiile Mysql_fetch_row($rezultat) sau Mysql_fetch_assoc ($rezultat) (exista mai multe metode) .
Exemplu:

while ($rand=mysql_fetch_assoc($rezultat))
{
echo $rand["user_login"]; // iti afiseaza ce gaseste in Rand la locatia "user_login" din vectorul $rand
echo $rand["user_email"]
};


PS: Citeste despre vectori sau Array
Citeste despre Mysql_fetch_assoc si Mysql_query.

Bafta

olympia
Senior Member
Mesaje: 374
Membru din: Lun Mai 26, 2008 11:12 pm
Contact:

Mesajde olympia » Dum Apr 26, 2009 3:08 pm


Avatar utilizator
Ctek
Senior Member
Mesaje: 310
Membru din: Dum Oct 05, 2008 12:05 am
Contact:

Mesajde Ctek » Dum Apr 26, 2009 4:22 pm


olympia
Senior Member
Mesaje: 374
Membru din: Lun Mai 26, 2008 11:12 pm
Contact:

Mesajde olympia » Dum Apr 26, 2009 4:57 pm


Avatar utilizator
Ctek
Senior Member
Mesaje: 310
Membru din: Dum Oct 05, 2008 12:05 am
Contact:

Mesajde Ctek » Dum Apr 26, 2009 5:10 pm


dered
PHPRomania Supporter
Mesaje: 16
Membru din: Mar Dec 30, 2008 10:27 pm

php

Mesajde dered » Dum Apr 26, 2009 5:16 pm


dered
PHPRomania Supporter
Mesaje: 16
Membru din: Mar Dec 30, 2008 10:27 pm

MERGEEEEEEEEEEE

Mesajde dered » Dum Apr 26, 2009 5:52 pm


Avatar utilizator
Ctek
Senior Member
Mesaje: 310
Membru din: Dum Oct 05, 2008 12:05 am
Contact:

Mesajde Ctek » Dum Apr 26, 2009 6:08 pm


dered
PHPRomania Supporter
Mesaje: 16
Membru din: Mar Dec 30, 2008 10:27 pm

codul nou

Mesajde dered » Dum Apr 26, 2009 7:01 pm

Ce spui tu are logica insa nu-mi afiseaza nimic, nici erori nici conect nimic.
Uite cum arata codul nou:
<?php



$server = 'server';
$database = 'database';
$username = 'user';
$password = 'parola';


$connection = mysql_connect($server, $username, $password);
echo "conected ";
if (!$connection) {
die('Could not connect to MySQL database, the server return the error: ' . mysql_error());
}
$db = @mysql_select_db($database);
echo "conected to";
//int

//show

$query = mysql_query("SELECT * FROM `wp_users`");
$row = mysql_num_rows($query);

//pana aici e ok



echo"<table><tr> <td>Numar</td> <td>Email</td> <td>Login</td></tr>" //probabil ca aici trebuia inchis tr, l-am inchis cu </tr> nu?

$i=0;
while ($i < $row) {

$email=mysql_result($query, $i, "user_email");
$login=mysql_result($query, $i, "user_login");

echo "<tr> <td>$i</td> <td>$email</td> <td>$login</td> </tr>"; //am scos bolduitu sa fie cat mai simplu

++$i;
}


echo "</table>";
mysql_close();

?>[/b]

Avatar utilizator
Ctek
Senior Member
Mesaje: 310
Membru din: Dum Oct 05, 2008 12:05 am
Contact:

Mesajde Ctek » Dum Apr 26, 2009 7:06 pm

pune ; la sfarsit
echo"<table><tr> <td>Numar</td> <td>Email</td> <td>Login</td></tr>";

si scoate @ de la
$db = @mysql_select_db($database);

dered
PHPRomania Supporter
Mesaje: 16
Membru din: Mar Dec 30, 2008 10:27 pm

ok

Mesajde dered » Dum Apr 26, 2009 8:06 pm

Codul merge ca uns, numai ca:
la nr de ordine in afisaj, $i ar trebui cumva sa fie afisat $i+1.
Am incercat sa definesc o variabila j care sa fie j=i+1 si sa afisez $j dar nu merge.
Daca fac <td>$i+1</td> imi afiseaza val i+1 .

$i=0;

while ($i < $row) {

$email=mysql_result($query, $i, "user_email");
$login=mysql_result($query, $i, "user_login");
$j=i+1;
echo "<tr> <td>$j</td> <td>$email</td> <td>$login</td> </tr>"; //am scos bolduitu sa fie cat mai simplu

++$i;
}

Ctek esti super, m-ai ajutat enorm, daca pot sa ma recompensez cumva, just tell me.

Avatar utilizator
Ctek
Senior Member
Mesaje: 310
Membru din: Dum Oct 05, 2008 12:05 am
Contact:

Mesajde Ctek » Dum Apr 26, 2009 8:15 pm

Corecteaza aici:
$j=$i+1;

sau mai simplu ca sa nu mai folosesti o alta variabila in plus (adica $j ) poti folosi asa:

echo "<tr> <td>".$i+1."</td> <td>$email</td> <td>$login</td> </tr>";


De ce vrei sa decalezi valorile ??
Adica de ce sa iti arate valoarea +1 si nu valoarea reala??


Înapoi la “MySQL”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 6 vizitatori