Question requete sql composant joomla2.5

Plus d'informations
20 Juil 2012 15:50 #1 par smiley88
requete sql composant joomla2.5 a été créé par smiley88
Bonjour à jour, après avoir compris le principe du fonctionnement MVC de joomla. Mon soucis se situe dans le rapatriement des données à partir d'une base de donnée.

Je déclare ma fonction dans le modèle
function ListeJoueuse()
{
$db = $this->getDbo();
$query = $db->getQuery(true);
$query->select(
$this->getState(
'list.select',
'a.*'
)
);
$query->from('`#__bl_players` AS a');
//echo $query;
$db->setQuery($query);
return $db->loadObjectList();
}

réception des données dans view.html.php dans la fonction display.
/*chargement modèle*/
$model = &$this->getModel();
/*appel fonction*/
$liste = $model->ListeJoueuse();
/*recuperation résultat*/
$this->assignRef( 'liste', $listej );

et affichage des données dans le template
<select name="thelist" onChange="combo(this, 'theinput')">
<?php foreach($this->liste as $l) {?>
<option><?php $l->last_name?></option>
<?php } ?>
</select>

cela est censé afficher les last_name dans un combobox.
Mais cela m'indique une erreur :
Invalid argument supplied for foreach() in C:\wamp\www\open88\administrator\components\com_double_open88\views\open88\tmpl\edit.php on line 50
Le sujet a été verrouillé.
Plus d'informations
21 Juil 2012 09:52 #2 par lavsteph
Réponse de lavsteph sur le sujet requete sql composant joomla2.5
Bonjour,

je crois que tu es en bonnes mains avec notre confrère Jisse . ;)
Le sujet a été verrouillé.
Plus d'informations
23 Juil 2012 11:32 #3 par smiley88
Réponse de smiley88 sur le sujet requete sql composant joomla2.5
oui il m'aide beaucoup mais actuellement je suis coincé au niveau de l'affichage de mes donnée. Je récupère correctement mes données mais l'affichage dans le combobox est assez difficile :

template :

echo var_dump($this->nom_joueuse); m'affiche mes données :
array
0 =>
object(JObject)[339]
protected '_errors' =>
array
empty
public 'value' => string '1' (length=1)
public 'text' => string 'AKIKI' (length=5)
public 'disable' => boolean false
1 =>
object(JObject)[340]
protected '_errors' =>
array
empty
public 'value' => string '2' (length=1)
public 'text' => string 'BARBAT' (length=6)
public 'disable' => boolean false
2 =>
object(JObject)[341]
protected '_errors' =>
array
empty
public 'value' => string '131' (length=3)
public 'text' => string 'SIBILLE' (length=7)
public 'disable' => boolean false
3 =>

ma boucle :
<li><?php echo $this->form->getLabel('joueuse1'); ?>
<select name="thelist" onChange="combo(this, 'theinput')">
<?php foreach ($this->nom_joueuse as $l) {?>
<option><?php $l->id;?></option>
<?php } ?>
</select>
Le sujet a été verrouillé.
Plus d'informations
23 Juil 2012 12:10 #4 par smiley88
Réponse de smiley88 sur le sujet requete sql composant joomla2.5
Je tiens à préciser que la table que je désire afficher dans mon combobox n'a pas de classe dans mon composant celle-ci est défini dans un autre composant. Je sais pas si cela peut-être utile.
Le sujet a été verrouillé.
Plus d'informations
23 Juil 2012 16:42 #5 par smiley88
Réponse de smiley88 sur le sujet requete sql composant joomla2.5
voila pour fermer ce sujet j'ai réussi à afficher mes données depuis ma base de données dans ma combobox.

Voici le code pour les futurs recherches :
modèle :
function ListeJoueuse()
{
$db = $this->getDbo();
$query = $db->getQuery(true);
$query->select(
$this->getState(
'list.select',
'a.*'
)
);
$query->from('#__bl_players AS a');
//echo $query;
// execution de la requéte
$db->setQuery($query);
// récupération des données
$listej = $db->loadObjectList();
 
return $listej;
}

Vue :
public function display($tpl = null)
{
$this->state	= $this->get('State');
$this->item		= $this->get('Item');
$this->form		= $this->get('Form');
 
// Check for errors.
if (count($errors = $this->get('Errors'))) {
JError::raiseError(500, implode("\n", $errors));
return false;
}
 
//chargement modèle
$model = &$this->getModel();
//appel fonction
$nom = $model->ListeJoueuse();
//print_r($nom);
//recuperation résultat
$this->assignRef('nom_joueuse', $nom );
 
$this->addToolbar();
parent::display($tpl);
}

Template :
$nb = count($this->nom_joueuse);
//echo $nb;
?>
<li><?php echo $this->form->getLabel('joueuse1'); ?>
<select style="display:block; width:100px;"name="joueuse" onChange="combo(this, 'theinput') ">
<?php for ($i = 1; $i < $nb; $i++) {?>
<option><?php echo $this->nom_joueuse[$i]->last_name; ?></option>
<?php } ?>
</select>

En espérant que cela vous aidera ! :top
Les utilisateur(s) suivant ont remercié: lavsteph, Peter
Le sujet a été verrouillé.
Plus d'informations
27 Juil 2012 15:56 #6 par lavsteph
Réponse de lavsteph sur le sujet requete sql composant joomla2.5
Bonjour,

je clos donc le sujet pour qu'il ne soit pas pollué à l'avenir. ;)
Le sujet a été verrouillé.
  • Vous ne pouvez pas: Créer un nouveau sujet.
  • Vous ne pouvez pas: Répondre au sujet.
  • Vous ne pouvez pas: Éditer votre message.
Modérateurs: lavstephxillibittramber91Scottuxsergestarter
Temps de génération de la page : 0.287 secondes