Pagina 1 din 1

afisare date din db in functie de option selectat

Scris: Vin Oct 28, 2016
de sagap
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.

afisare date din db in functie de option selectat

Scris: Vin Oct 28, 2016
de sterica
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

afisare date din db in functie de option selectat

Scris: Vin Oct 28, 2016
de sagap
Da este ok.
Mersi.

Insa mai am o nelamurire:
Cum pot seta un rand din tabelul date sa faca parte din ambele categorii?

afisare date din db in functie de option selectat

Scris: Vin Oct 28, 2016
de sterica
cum adica sa faca parte din ambele categorii?

afisare date din db in functie de option selectat

Scris: Dum Oct 30, 2016
de MarPlo
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

afisare date din db in functie de option selectat

Scris: Joi Noi 03, 2016
de sagap
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).

afisare date din db in functie de option selectat

Scris: Joi Noi 03, 2016
de MarPlo
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.