Jump to content

[RESOLU] Problème MYSQL_QUERY


Recommended Posts

Bonsoir,

J'ai l'impression de faire un constat :

Prestashop ignore MYSQL_QUERY.

Voici mon code :

    $nb = "SELECT COUNT(*) AS nb FROM boutique_catalogue_lang WHERE id_lang='2'";
   echo mysql_query($nb);



Rien ne s'affiche alors que le code est juste.

Explication ? Solution ?

Merci à vous.

Link to comment
Share on other sites

Merci à vous mais en fait mon problème est que je souhaite récupérer toutes entrées d'une table de ma BDD et ensuite tout afficher.

Mais problème avec le code qui suit, j'obtiens que la premiere entrée :

public function getCat()
   {
       $result = array();

        if (!$result = Db::getInstance()->getRow('SELECT `id_category`, `name`, `description` FROM boutique_category_lang WHERE `id_lang`="2"'))
            return false;
        return $result;
   }



Et je ne sais pas comment récupérer plus, parce qu'avec le mysql_query ma page ne marche plus...

Merci.

Link to comment
Share on other sites

public function getCat()
   {
       $result = array();

        if (!$result = Db::getInstance()->getRExecuteS('SELECT `id_category`, `name`, `description` FROM boutique_category_lang WHERE `id_lang`="2"'))
            return false;
        return $result;
   }



Même résultat que lorsque j'avais mis mysql_query et le fetch....

Link to comment
Share on other sites

Correct ça marche !

Mais j'ai un autre soucis... de connaissance.

Comment je fais pour l'intégrer toutes ces valeurs dans :

<input type="checkbox" name="category[]" value="'.$data['id_category'].'" ></td>
'.$data['id_category'].'
'.$data['name'].'
'.$data['description'].'



je veux que ce code la se répète avec les bonnes informations...

Merci beaucoup ;)

Link to comment
Share on other sites

Merci, j'ai tout lu.

Cependant, et je vais me faire taper sur les doigts... lol, comment intègre t-on dans le PHP :

{foreach key=cid item=con from=$results}


Si j'ai bien compris dans mon cas j'ai besoin de :

<?php
$search_condition = "where name like '$foo%' ";
$sql = 'select contact_id, name, nick from contacts '.$search_condition.' order by name';
$smarty->assign('results', $db->getAssoc($sql) );
?>



Suivi de :

{foreach key=cid item=con from=$results}
{$con.name} - {$con.nick}

{foreachelse}
Aucun élément n'a été trouvé dans la recherche
{/foreach}



En gros c'est les parties en smarty dont je ne sais pas comment intégrer dans mon php....

Link to comment
Share on other sites

Sauf que dans mon cas, c'est pour un affichage dans le Back Office... Si je le met dans le .tpl ca va être la galère non ?

Mais là je viens de me rendre compte que :

$smarty->assign('data', $db->getAssoc($donnees));



ne marche pas. Il y a un problème au nivau de cette ligne.

public function getCat()
   {
       $result = array();

        if (!$result = Db::getInstance()->ExecuteS('SELECT `id_category`, `name`, `description` FROM boutique_category_lang WHERE `id_lang`="2"'))
            return false;


        return $result;
   }


   private function _displayForm()
   {


       $data = $this->getCat();
       $smarty->assign('data', $db->getAssoc($donnees));

Link to comment
Share on other sites

Si c'est pour le BO, alors mettez tout dans _displayForm() et utilisez foreach php et non foreach smarty

Encore un peu de lecture : http://php.net/manual/fr/control-structures.foreach.php

EDIT, comme vous retournez false si ca marche pas il faut en tenir compte dans displayForm :

if(!$data = $this->getCat())
$this->_html .= 'message d erreur';
else
{
...
}

Link to comment
Share on other sites

Pour le foreach maintenant je sais comment le faire marcher.

Mais, parce qu'il en faut toujours un..., le problème persiste avec la récupération de mes données de ma table.

J'ai fais comme dans le lien que vous m'avez passé :

$db->set_query('SELECT `id_category`, `name`, `description` FROM boutique_category_lang WHERE `id_lang`="2"');
       $datas = $db->result_to_array($db->get_result());



L'erreur vient directement d'ici !

Edit :

if(!$data = $this->getCat())
$this->_html .= ‘message d erreur’;
else
{



Il n'y a pas de soucis sur ça, la fonction me renvoie bien le tableau :

array(4) { [0]=> array(3) { ["id_category"]=> string(1) "1" ["name"]=> string(7) "Accueil" ["description"]=> string(0) "" } [1]=> array(3) { ["id_category"]=> string(1) "2" ["name"]=> string(5) "iPods" ["description"]=> string(137) "Il est temps, pour le meilleur lecteur de musique, de remonter sur scène pour un rappel. Avec le nouvel iPod, le monde est votre scène." } [2]=> array(3) { ["id_category"]=> string(1) "3" ["name"]=> string(11) "Accessoires" ["description"]=> string(47) "Tous les accessoires à la mode pour votre iPod" } [3]=> array(3) { ["id_category"]=> string(1) "4" ["name"]=> string(9) "Portables" ["description"]=> string(323) "Le tout dernier processeur Intel, un disque dur plus spacieux, de la mémoire à profusion et d'autres nouveautés. Le tout, dans à peine 2,59 cm qui vous libèrent de toute entrave. Les nouveaux portables Mac réunissent les performances, la puissance et la connectivité d'un ordinateur de bureau. Sans la partie bureau." } }



Edit Edit : ENFIN ! 00:47, j'ai eu une illumination. Mon code était déjà en tableau, j'avais plus qu'à envoyer le foreach :).

Merci beaucoup à vous.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...