afisare date din db in functie de option selectat
Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
-
sagap
- Mesaje:12
afisare date din db in functie de option selectat
Salut,
Incerc sa afisez date in funtie de categoria aleasa. Folosesc urmatorul cod:
Cod: Selectaţi tot
<?php
include("config.php");
$conexiune=mysql_connect($hostname,$username,$password)
or die ("Nu ma pot conecta la baza de date");
$bazadate=mysql_select_db($database,$conexiune)
or die ("Nu gasesc baza de date");
$sql = "select * from category";
$result = mysql_query($sql);
echo '<select id="category" name="category">';
if(mysql_num_rows($result) > 0)
{
while ($row = mysql_fetch_assoc($result))
{
echo '<option value="'.$row["cat_id"].'">'.$row["name"].'</option>';
}
}
echo '</select>';
if(!empty($_POST['category'])) {
$sql = "select * from date WHERE category='1'";
$result = mysql_query($sql);
if(mysql_num_rows($result) > 0)
{
while ($row = mysql_fetch_assoc($result))
{
echo $row["url"];
}
}
}
?>
Iar structura DB este:
Cod: Selectaţi tot
Category
-cat_id= 1,2
-name=test1, test2
Date
-id=1
-url=google.ro
-category=1
Dupa ce aleg categoria, acesta nu imi afiseaza rezultatele. In cazul meu atunci cand aleg test 1 ar fi trebuie sa imi apara ca rezultat "google.ro".
Unde ar putea fi problema.
sterica
Mesaje:285
ar trebui sa ai in cod si un
Cod: Selectaţi tot
<form action="" method="POST">iar aici sa intre selectrul</form>
, trebui sa specifici metoda prin care se transmit datele
sagap
Mesaje:12
Da este ok.
Mersi.
Insa mai am o nelamurire:
Cum pot seta un rand din tabelul date sa faca parte din ambele categorii?
sterica
Mesaje:285
cum adica sa faca parte din ambele categorii?
MarPlo
Mesaje:4343
sagap scrie:Cum pot seta un rand din tabelul date sa faca parte din ambele categorii?
O varianta simpla e sa adaugi inca o data acel rand, cu id de categorie care vrei:
Cod: Selectaţi tot
id | url | category
1 | google.ro | 1
2 | marplo.net | 1
3 | marplo.net | 2
sagap
Mesaje:12
Multumesc de raspuns.
Asa m-am gandit si eu, in acest fel vor fi aprox. 50.000.000 de randuri, sper sa extraga datele in timp bun (inca folosesc localhost pentru teste).
MarPlo
Mesaje:4343
O varianta mai complexa, dar care reduce numarul de randuri in tabel, e sa folosesti mai multe id-uri la coloana "category", intre ghilimele, cam asa:
Cod: Selectaţi tot
id | url | category
1 | google.ro | ,1,
2 | marplo.net | ,1,2,
La partea de php va trebui sa tii cont de aceasta structura, la Insert si Select.
Subiecte similare
- Afisare numar cel mai mare dintr o coloana
PHP - MySQL - XML
Primul mesaj
Bună Marplo
Vreau să extrag din coloan pret cel mai mare numar ca de exemplu 4444.
Mie imi afisează 54 în loc de 4444, dacă în loc de 4444 modific...
Ultimul mesaj
Am schimbat `pret` varchar(20) DEFAULT NULL in `pret` int(11) NOT NULL ca la tine si merge.
Multumesc
- Adaugare orar zilele saptamanii in baza de date
PHP - MySQL - XML
Primul mesaj
Salut
Am o baza de date cu toate locatiile
location_id | name |address |telephone | open
Si un formular prin care incarc datele in bd....
Ultimul mesaj
Treaba cu adaugare json in mysql e simpla, se rezuma la adaugarea unui sir care contine ghilimele duble.
Problema la tine e ca acele ghilimele sunt...