Select in MySQL in functie de alt Select
Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
-
claUdiu
- Mesaje:313
Select in MySQL in functie de alt Select
Buna! Vreau sa afisez si eu niste date dintr-o categorie dar am o problema. Am acest cod:
Cod: Selectaţi tot
<?php
include("config.php");
//Selectam categoria cu id-ul preluat din $_GET
$id_categorie = $_GET['cid'];
$select = mysql_query("SELECT * FROM category WHERE id = '$id_categorie'");
while($afis = mysql_fetch_assoc($select)){
$categorie = $afis['name'];
//Selectam posturile din aceasta categorie
$select2 = mysql_query("SELECT * FROM posts WHERE category = 'Jocuri'");
while($afis2 = mysql_fetch_array($select2)){
$titlu = $afis2['title'];
$id = $afis2['id'];
$mesaj = $afis2['post'];
$categorie = $afis2['category'];
$data = $afis2['date'];
echo '<a href="read.php?pid='.$id.'"><h2>'.$titlu.'</h2></a>';
echo '<font color="blue">Categorie: '.$categorie.' Postat pe '.$data.'';
echo "<br/>";
echo "<br/>";
echo '<font color="black" size="5">'.$mesaj.'</font>';
echo "<br/>";
echo "<br/>";
echo "<br/>";
}
}
?>
DAr nu merge. Ideea este ca prima oara vreau sa selectez categoria dupa id-ul preluat cu $_GET, iar dupa aceea sa afisez posturile care sunt in categoria selectata prima oara.
Am facut si asa:
Cod: Selectaţi tot
<?php
include("config.php");
//Selectam categoria cu id-ul preluat din $_GET
$id_categorie = $_GET['cid'];
$select = mysql_query("SELECT * FROM category WHERE id = '$id_categorie'");
$rezultate = mysql_fetch_assoc($select);
$categorie = $rezultate['name'];
//Selectam posturile din aceasta categorie
$select2 = mysql_query("SELECT * FROM posts WHERE category = '$categorie'");
while($afis2 = mysql_fetch_array($select2)){
$titlu = $afis2['title'];
$id = $afis2['id'];
$mesaj = $afis2['post'];
$categorie = $afis2['category'];
$data = $afis2['date'];
echo '<a href="read.php?pid='.$id.'"><h2>'.$titlu.'</h2></a>';
echo '<font color="blue">Categorie: '.$categorie.' Postat pe '.$data.'';
echo "<br/>";
echo "<br/>";
echo '<font color="black" size="5">'.$mesaj.'</font>';
echo "<br/>";
echo "<br/>";
echo "<br/>";
}
?>
Dar nu merge.... Ii poate spune cineva de ce si cum as putea face sa mearga? Multumesc mult!
Se spune ca...."omul tot invata in viata". Dar...Totusi...Trebie sa ne oprim undeva, nu?
MarPlo
Mesaje:4343
Incearca cu o singura interogare care sa aibe doua select:
Cod: Selectaţi tot
"SELECT * FROM posts WHERE category = '(SELECT `name` FROM category WHERE id = $id_categorie LIMIT 1)'"
Daca da eroare, incearca sa stergi ghilimelele simple ce incadreaza parantezele cu al doilea SELECT.
Daca tot nu merge, verifica cu
echo $select; (si al doilea) sa vezi daca transmite la mysql ce trebuie.
claUdiu
Mesaje:313
La codul tau nu mi-a aratat nimic pe pagina, la fel si cand am facut echo. Dar, am gasit problema: eu am tabelul categories in db, nu category... Se pare ca m-am incurcat rau de tot... Scuze de timp pierdut cu mine:).
Se spune ca...."omul tot invata in viata". Dar...Totusi...Trebie sa ne oprim undeva, nu?
Subiecte similare
- Setare valori din array in select tag
JavaScript - jQuery - Ajax
Primul mesaj
Salut am un array cu orele de functionare
$data = array (
'0400' => '04:00 AM',
'0430' => '04:30 AM',
'0500' => '05:00 AM',
'0530'...
Ultimul mesaj
Testeaza urmatorul cod.
Daca ceva mai trebuie schimbat, incearca si tu sa modifici dupa cum stii, in functie de ce vrei sa obtii.
Open:...