Selectare optiune in tag Select cu php

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
alexinio3d
Mesaje:96

Selectare optiune in tag Select cu php

am urmatoarea functie care imi colecteaza din baza de date toate categoriile si le pune intrun tag select :

Cod: Selectaţi tot

<?php
$categori = getAllCategory("0");

function subcategorie($id){
    $categori = getAllCategory($id);
    foreach($categori as $categorie){
        echo "<option ";
        if($categorie['id'] == $game['category']){
            echo "selected=\"selected\"";
        }
        echo " value=\"".$categorie['id']."\">&#187;&#187;&#187;   ".$categorie['name']."</option>";
        $countcategorie = getCountCategory($categorie['id']);
        if($countcategorie != 0){
            subcategorie($categorie['id']);
        }
    }
}

foreach($categori as $categorie){
    echo "<option ";
        if($categorie['id'] == $game['category']){
            echo "selected=\"selected\"";
        }
        echo " value=\"".$categorie['id']."\">".$categorie['name']."</option>";
    $countcategorie = getCountCategory($categorie['id']);
    if($countcategorie != 0){
        subcategorie($categorie['id']);
    }
}
?>
Deci am un 2 tabele :
1. Tabelu cu jocuri unde sunt urmatoarele coloane : nume, descriere, categorie ( aici va fii scris id categoriei ) , status etc.
2. Tabelu cu categorii unde sunt uratoarele coloane : id, nume, categorie parinte

Eu vreau ca, atunci cand dau edit pe un joc sami arate o selectie cu toate categoriile din tabelu propriuzis ( categorii ) si sami fie selectat din prima categoria in care se afla jocul :) .

Mai sus am pus fisierul cu selectia din categorii unde functia "getAllCategory" ii conectarea la baza de date si extragerea datelor din tabelu categorii + afisarea categoriilor in tagu select, ceea ce functioneaza imi arata cum trebuie, dar eu daca am in tabelu categorii urmatoarele randuri ( Masinii, tractoare, fete, gatit ) si jocul meu pe care vreau sal editez ii in categoria fete, as dorii ca in tagul de selectare sami fie selectat chiar categoria fete nu prima din coloana ( adica in cazul nostru Masinii ).

Sper ca acuma mam facut inteles .
Siteuri create / configurate de mine :
SilvoProject.Ro ( Magazin Online ) : SilvoProject.Ro
TreiSute.Ro ( Comunitate de gaming ) : TreiSute.Ro

MarPlo Mesaje:4343
Pai exact asta ar trebui sa faca codul:

Cod: Selectaţi tot

if($categorie['id'] == $game['category']){
   echo "selected=\"selected\"";
}
- selecteaza optiunea unde id-ul categoriei este in 'category' la "games".

Sau in functia subcategorie() inlocuieste acel if() cu acesta:

Cod: Selectaţi tot

if($categorie['id'] == $id){
   echo "selected=\"selected\"";
}
Vezi in sursa html a paginii cum e codul din <select> returnat.

alexinio3d Mesaje:96
Pai da codul lam facut asa sa fie dar in sursa html imi selecteaza totdeauna primul element din <select>, nu cel care trebuie .
Asa imi arata codul sursa html :

Cod: Selectaţi tot

<select name="cat" class="form-control">
<option  value="1">Android</option>
<option  value="3">&#187;&#187;&#187;   Girls</option>
<option  value="4">&#187;&#187;&#187;   Car Games</option>
<option  value="5">&#187;&#187;&#187;   Arcade</option>
<option  value="2">iOS</option>
</select> 
Siteuri create / configurate de mine :
SilvoProject.Ro ( Magazin Online ) : SilvoProject.Ro
TreiSute.Ro ( Comunitate de gaming ) : TreiSute.Ro

MarPlo Mesaje:4343
In codul HTML nu apare: selected="selected" in vreun <option>, de aceea e selectata prima optiune.
Trebuie sa faci verificari in codul php, sa vezi de ce nu se adauga: selected="selected" (cu "echo" la variabilele comparate). Acea conditie if() nu e True, id-urile comparate nu sunt egale.

alexinio3d Mesaje:96
Thx .
Am rezolvat problema cu slectarea .
Va multumesc.
Siteuri create / configurate de mine :
SilvoProject.Ro ( Magazin Online ) : SilvoProject.Ro
TreiSute.Ro ( Comunitate de gaming ) : TreiSute.Ro

Subiecte similare