Conectare si afisare rezultate
Moderatori: Zamolxe, Moderatori
Conectare si afisare rezultate
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;
}
?>
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.
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
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
codul nou
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]
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]
ok
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.
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.
Cine este conectat
Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 6 vizitatori
