Pour avoir quelque chose d'un peu logique il faudrait avoir un champ "vignette" ou "image" dans ta table "jos_adsmanager_categories", en plus des champs "id" et "name" qui si j'ai bien compris correspondent respectivement aux valeurs et aux libellés des options.
Ensuite tu crée les tableaux qui te seront utiles.
Donc typiquement pour ton code php.
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| $categorie = "SELECT id,name,vignette FROM jos_adsmanager_categories";
$ressource = mysql_query($categorie);
$tab_categorie = array();
while ($result = mysql_fetch_assoc($ressource))
{
$tab_categorie['libelle'][$result['id']] = $result['name'];
$tab_categorie['image'][$result['id']] = $result['vignette'];
}
// Encodage de tableau id => image au format javascript avec json_encode
$tab_javascript_image = isset($tab_categorie['image'])? json_encode($tab_categorie['image']) : null; |
Pour lister tes options id => libelle dans le code html
1 2 3 4 5 6 7 8 9 10 11
| <select class='adsmanager_required' name='category_choose' onchange='change("category_choose")'>
<option value="-1" selected="selected">Choisissez une rubrique</option>
<?php if (isset($tab_categorie['libelle']) && is_array($tab_categorie['libelle']))
{
foreach ($tab_categorie['libelle'] as $key => $value)
echo '<option value="'.$key.'">'.$value.'</option><br />';
}
</select> |
Et pour récupérer ton tableau id => image dans le code javascript
var tab_image = <?php echo isset($tab_javascript_image)? $tab_javascript_image : 'Array()'; ?>;
Bon j'ai pas testé mais le principe est là.
Donc avec ce système tu n'as plus à toucher à ta page quand tu ajoute, supprime ou modifie des catégories. Tout se fait en fonction du contenu de la table de ta base de donnée et le code html et javascript s'adapte automatiquement. Et là ça commence à devenir intéressant
Partager