[résolu] comment afficher un produit via le modèle, comment récupérer le products_id ? |
Bienvenue invité ( Connexion | Inscription )
[résolu] comment afficher un produit via le modèle, comment récupérer le products_id ? |
1 Nov 2011, 21:10
Message
#1
|
|
Ceinture jaune+ OSC Groupe : Membres Messages : 96 Inscrit : 1-March 05 Lieu : dans les nuages Membre no 4971 |
bonsoir,
j'ai le produit A qui n'existe plus au catalogue ou en fin de vie et est donc remplacé par le produit B qui a donc une autre référence (products_model2). le produit A qui n'est plus en vente reste toujours en catalogue : mais sur la fiche produit A j'affiche en plus la nouvelle référence qui doit renvoyer au produit B. j'ai procédé ainsi :
toute la phase création, insertion d'un nouveau champ se passe bien, le nouveau champ est bien pris dans la base de données... dans product_info.php je cherche à récupérer le products_id pour renvoyer vers la nouvelle fiche produit : Citation <?php if (tep_not_null($products_model2['products_model2'])) { ?> <tr> <td><h2><span class="smallText"><?php echo 'Nouveau modeèle : ' . $products_model2; ?></span></h2></td> <td align="right" valign="top"> <?php tep_get_products_model2($product_model2['products_id']); echo '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $product_model2['products_id']) . '">' . $products_model2 . '</a>' ?> </td> </tr> <?php } ?> dans include/functions/general.php Citation function tep_get_products_model2($products_id) { $products_id = tep_get_prid($products_id); $products_model2_query = tep_db_query("select products_id from " . TABLE_PRODUCTS . " where products_model2 = '" . $products_model2['products_model2']) . "'"); $product_model2 = tep_db_fetch_array($products_model2_query); return $product_model2['products_id']; pourriez-vous m'aider à récupérer le products_id de la nouvelle fiche ? cela fait quelques jours que je tourne en rond et je me demande si le raisonnement est bon et à force de triturer les codes, je ne tiens plus le bon bout. le résultat renvoie invariablement à : Citation quand je teste Citation $products_model2_query = tep_db_query("select products_id from " . TABLE_PRODUCTS . " where products_model2 = '" . $products_model2['products_model2']) . "'"); via PhpMyAdmin le résultat retourne bien au products_id voulu mais impossible de l'avoir dans product_info.php Ce message a été modifié par nephelion - 2 Nov 2011, 09:14. -------------------- osCommerce V2.2 RC1 W3C Valid FR V3 | HeadTags_SEO_V_3.2.4 | Ultimate_SEO_URLs_v22d10
|
|
1 Nov 2011, 23:22
Message
#2
|
|
Ceinture marron OSC Groupe : Modérateurs Messages : 1543 Inscrit : 30-May 06 Lieu : Vichy (03) Membre no 10583 |
Bonsoir,
Il me semble que la ligne tep_get_products_model2($product_model2['products_id']); est à placer AVANT le test sinon la valeur du test est toujours null Code <?php
tep_get_products_model2($product_model2['products_id']); // Placé avant le test sinon le test est toujours null if (tep_not_null($products_model2['products_model2'])) { ?> <tr> <td><h2><span class="smallText"><?php echo 'Nouveau modeèle : ' . $products_model2; ?></span></h2></td> <td align="right" valign="top"> <?php // tep_get_products_model2($product_model2['products_id']); <===== déplacé echo '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $product_model2['products_id']) . '">' . $products_model2 . '</a>' ?> </td> </tr> <?php } ?> -------------------- Config 1 en live : Osc 2.2 très fortement modifié ... UTF-8 et Php 5.4.
Contribs installées : down_for_maintenance_v 2.3 | Estimated Shipping v1.5 | imprint_1_3_5 | low_stock_report_v2.04 | visible_countries_1.2b | Products Tabs | shoppingCart_cleanup_v1.01.0 | + trop de bidouilles persos pas très OsCommerce (erreurs de jeunesse) Config 2 en local avec UwAmp : Osc Phoenix |
|
2 Nov 2011, 00:16
Message
#3
|
|
Ceinture jaune+ OSC Groupe : Membres Messages : 96 Inscrit : 1-March 05 Lieu : dans les nuages Membre no 4971 |
bonsoir et merci @Bonbec pour la réponse,
j'ai déplacé la ligne comme indiqué, mais malheureusement, ça n'a fonctionné ;( j'ai toujours le retour de products_id = vide. -------------------- osCommerce V2.2 RC1 W3C Valid FR V3 | HeadTags_SEO_V_3.2.4 | Ultimate_SEO_URLs_v22d10
|
|
2 Nov 2011, 00:25
Message
#4
|
|
Ceinture marron OSC Groupe : Modérateurs Messages : 1543 Inscrit : 30-May 06 Lieu : Vichy (03) Membre no 10583 |
Re,
Juste après la ligne tep_get_products_model2($product_model2['products_id']); place provisoirement un print_r($product_model2); Cela devrait donner le détail de ce qui est retourné. Je pense que cela doit retourner, entre autre, $product_model2['products_id2'] et non $product_model2['products_id'] comme marqué dans cette ligne : echo '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $product_model2['products_id']) . '">' . $products_model2 . '</a>' ?> qui devrait être : echo '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $product_model2['products_id2']) . '">' . $products_model2 . '</a>' ?> En espérant cogiter correctement alors que j'ai les yeux qui se croisent vu l'heure -------------------- Config 1 en live : Osc 2.2 très fortement modifié ... UTF-8 et Php 5.4.
Contribs installées : down_for_maintenance_v 2.3 | Estimated Shipping v1.5 | imprint_1_3_5 | low_stock_report_v2.04 | visible_countries_1.2b | Products Tabs | shoppingCart_cleanup_v1.01.0 | + trop de bidouilles persos pas très OsCommerce (erreurs de jeunesse) Config 2 en local avec UwAmp : Osc Phoenix |
|
2 Nov 2011, 00:56
Message
#5
|
|
Ceinture jaune+ OSC Groupe : Membres Messages : 96 Inscrit : 1-March 05 Lieu : dans les nuages Membre no 4971 |
re bonsoir @Bonbec,
rien, toujours vide ;( mais pourquoi products_id2 ? où doit-il être déclaré ? du moment où la requête est Citation $products_model2_query = tep_db_query("select products_id from " . TABLE_PRODUCTS . " where products_model2 = '" . $products_model2['products_model2']) . "'");
-------------------- osCommerce V2.2 RC1 W3C Valid FR V3 | HeadTags_SEO_V_3.2.4 | Ultimate_SEO_URLs_v22d10
|
|
2 Nov 2011, 01:12
Message
#6
|
|
Ceinture marron OSC Groupe : Modérateurs Messages : 1543 Inscrit : 30-May 06 Lieu : Vichy (03) Membre no 10583 |
Re,
Oui bon ben bonbec y cogite mal la nuit Ne pas tenir compte de mes 2 messages dessus, désolé. Esst-ce que dans le product_info.php, là où il y a des requêtes comprenant p.products_model, ont été ajoutés des p.products_model2, ? -------------------- Config 1 en live : Osc 2.2 très fortement modifié ... UTF-8 et Php 5.4.
Contribs installées : down_for_maintenance_v 2.3 | Estimated Shipping v1.5 | imprint_1_3_5 | low_stock_report_v2.04 | visible_countries_1.2b | Products Tabs | shoppingCart_cleanup_v1.01.0 | + trop de bidouilles persos pas très OsCommerce (erreurs de jeunesse) Config 2 en local avec UwAmp : Osc Phoenix |
|
2 Nov 2011, 01:16
Message
#7
|
|
Ceinture jaune+ OSC Groupe : Membres Messages : 96 Inscrit : 1-March 05 Lieu : dans les nuages Membre no 4971 |
oui,
Citation $product_info_query = tep_db_query("select p.products_id, pd.products_name, pd.products_description, p.products_model, p.products_model2,.... sur la fiche produit de product_info.php les 2 modèles s'affichent bien. c'est le passage de products_id qui coince Ce message a été modifié par nephelion - 2 Nov 2011, 01:20. -------------------- osCommerce V2.2 RC1 W3C Valid FR V3 | HeadTags_SEO_V_3.2.4 | Ultimate_SEO_URLs_v22d10
|
|
2 Nov 2011, 01:41
Message
#8
|
|
Ceinture marron OSC Groupe : Modérateurs Messages : 1543 Inscrit : 30-May 06 Lieu : Vichy (03) Membre no 10583 |
Re,
Donc la valeur de products_model2 se récupère dans $product_info['products_model2'] Ce qui veut dire que dans general.php on doit effectuer une recherche à partir de la valeur de $product_info['products_model2'] Ce qui doit donner : Code function tep_get_products_model2($products_model2) { $products_id2 = tep_get_prid($products_model2); $products_model2_query = tep_db_query("select products_id from " . TABLE_PRODUCTS . " where products_model2 = '" . $products_id2) . "'"); $product_model2 = tep_db_fetch_array($products_model2_query); return $product_model2['products_id']; } Dans product_info.php Code <?php
if (tep_not_null($product_info['products_model2'])) { ?> <tr> <td><h2><span class="smallText"><?php echo 'Nouveau modèle : ' . $product_info['products_model2']; ?></span></h2></td> <td align="right" valign="top"> <?php $id_product_model2 = tep_get_products_model2($product_info['product_model2']); echo '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $id_product_model2) . '">' . $product_info['products_model2'] . '</a>' ?> </td> </tr> <?php } ?> Ce message a été modifié par Bonbec - 2 Nov 2011, 01:53. -------------------- Config 1 en live : Osc 2.2 très fortement modifié ... UTF-8 et Php 5.4.
Contribs installées : down_for_maintenance_v 2.3 | Estimated Shipping v1.5 | imprint_1_3_5 | low_stock_report_v2.04 | visible_countries_1.2b | Products Tabs | shoppingCart_cleanup_v1.01.0 | + trop de bidouilles persos pas très OsCommerce (erreurs de jeunesse) Config 2 en local avec UwAmp : Osc Phoenix |
|
2 Nov 2011, 02:07
Message
#9
|
|
Ceinture jaune+ OSC Groupe : Membres Messages : 96 Inscrit : 1-March 05 Lieu : dans les nuages Membre no 4971 |
arf,
cela ne retourne même plus de products_model2 c'est le products_id2 qui me turlupine ! Citation " where products_model2 = '" . $products_id2 . "'"); Ce message a été modifié par nephelion - 2 Nov 2011, 02:59. -------------------- osCommerce V2.2 RC1 W3C Valid FR V3 | HeadTags_SEO_V_3.2.4 | Ultimate_SEO_URLs_v22d10
|
|
2 Nov 2011, 02:18
Message
#10
|
|
Ceinture marron OSC Groupe : Modérateurs Messages : 1543 Inscrit : 30-May 06 Lieu : Vichy (03) Membre no 10583 |
Re,
J'ai oublié un s à : $id_product_model2 = tep_get_products_model2($product_info['product_model2']); cela devrait être : $id_product_model2 = tep_get_products_model2($product_info['products_model2']); Pour le products_id2 le nom de variable n'est pas bien choisis, je l'accorde Ce message a été modifié par Bonbec - 2 Nov 2011, 02:23. -------------------- Config 1 en live : Osc 2.2 très fortement modifié ... UTF-8 et Php 5.4.
Contribs installées : down_for_maintenance_v 2.3 | Estimated Shipping v1.5 | imprint_1_3_5 | low_stock_report_v2.04 | visible_countries_1.2b | Products Tabs | shoppingCart_cleanup_v1.01.0 | + trop de bidouilles persos pas très OsCommerce (erreurs de jeunesse) Config 2 en local avec UwAmp : Osc Phoenix |
|
2 Nov 2011, 02:24
Message
#11
|
|
Ceinture jaune+ OSC Groupe : Membres Messages : 96 Inscrit : 1-March 05 Lieu : dans les nuages Membre no 4971 |
non,
toujours pas mieux ;( ok va, pour products_id2 je mets ça de côté pour ce soir. je commence à voir trouble merci beaucoup bonne nuit à toi @Bonbec. Ce message a été modifié par nephelion - 2 Nov 2011, 02:25. -------------------- osCommerce V2.2 RC1 W3C Valid FR V3 | HeadTags_SEO_V_3.2.4 | Ultimate_SEO_URLs_v22d10
|
|
2 Nov 2011, 02:47
Message
#12
|
|
Ceinture jaune+ OSC Groupe : Membres Messages : 96 Inscrit : 1-March 05 Lieu : dans les nuages Membre no 4971 |
@Bonbec,
je reviens car entre ce petit s et autre.. le products_model2 s'affiche et ce qu'il y a de mieux c'est que products_id aussi mais c'est le products_id du produit A et non celui du produit B ce qui veut dire que le products_model2 (produit B) s'affiche avec le products_id de produits A Ce message a été modifié par nephelion - 2 Nov 2011, 02:49. -------------------- osCommerce V2.2 RC1 W3C Valid FR V3 | HeadTags_SEO_V_3.2.4 | Ultimate_SEO_URLs_v22d10
|
|
2 Nov 2011, 07:28
Message
#13
|
|
Ceinture marron OSC Groupe : Modérateurs Messages : 1543 Inscrit : 30-May 06 Lieu : Vichy (03) Membre no 10583 |
Bonjour nephelion,
Désolé mais le sommeil a été le plus fort Dans general.php Code function tep_get_products_model2($products_model, $products_model2) { $products_model2_query = tep_db_query("select products_id from " . TABLE_PRODUCTS . " where products_model = '" . $products_model2 . "'"); $product_model2 = tep_db_fetch_array($products_model2_query); return $product_model2['products_id']; } Par contre je ne comprends pas pourquoi çà ne fonctionne pas en gardant $products_model=tep_get_prid($products_model); et $products_model2=tep_get_prid($products_model2); Dans product_info.php : Code <?php
if (tep_not_null($product_info['products_model2'])) { ?> <tr> <td><h2><span class="smallText"><?php echo 'Nouveau modèle : ' . $product_info['products_model2']; ?></span></h2></td> <td align="right" valign="top"> <?php $id_product_model2 = tep_get_products_model2($product_info['products_model'], $product_info['products_model2']); echo '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $id_product_model2) . '">' . $product_info['products_model2'] . '</a>' ?> </td> </tr> <?php } Ce message a été modifié par Bonbec - 2 Nov 2011, 08:51. -------------------- Config 1 en live : Osc 2.2 très fortement modifié ... UTF-8 et Php 5.4.
Contribs installées : down_for_maintenance_v 2.3 | Estimated Shipping v1.5 | imprint_1_3_5 | low_stock_report_v2.04 | visible_countries_1.2b | Products Tabs | shoppingCart_cleanup_v1.01.0 | + trop de bidouilles persos pas très OsCommerce (erreurs de jeunesse) Config 2 en local avec UwAmp : Osc Phoenix |
|
2 Nov 2011, 09:11
Message
#14
|
|
Ceinture jaune+ OSC Groupe : Membres Messages : 96 Inscrit : 1-March 05 Lieu : dans les nuages Membre no 4971 |
bonjour @Bonbec,
ça marche :! \o/ la nuit n'a pas été trop courte ? j'ai eu juste le temps de voir la version "précédente" qui ne marchait pas car le coup du "products_model is null" me paraissait bizarre et je ne comprenais pas le sens et non plus pourquoi Citation $products_model=tep_get_prid($products_model); et $products_model2=tep_get_prid($products_model2); ne marchait pas .en tout cas, cela m'a retiré une épine du pied grâce à ton aide car cela fait presqu'une semaine que je bidouillais ;( sur ce point. et là je vois un peu mieux la démarche. je te dois un verre et même une bouteille et ce ne sera pas de l'eau de Vichy merci encore -------------------- osCommerce V2.2 RC1 W3C Valid FR V3 | HeadTags_SEO_V_3.2.4 | Ultimate_SEO_URLs_v22d10
|
|
2 Nov 2011, 09:49
Message
#15
|
|
Ceinture marron OSC Groupe : Modérateurs Messages : 1543 Inscrit : 30-May 06 Lieu : Vichy (03) Membre no 10583 |
Bonjour nephelion,
Si ! à peine 4H de sommeil J'ai testé au réveil sur mon site en local et j'ai jonglé avec mon code de product_info.php qui n'a presque plus rien à voir avec le code d'origine. Pour le "is null", il manquait une condition pour que çà marche mais le dernier code donné est plus simple et fonctionne à part les $products_model=tep_get_prid($products_model); et $products_model2=tep_get_prid($products_model2); (tep_get_prid nettoie ce qui lui est envoyé) PS1 : ton idée de lien me plait, je vais sans doute l'utiliser aussi pour moi PS2 : je t'envoie un MP -------------------- Config 1 en live : Osc 2.2 très fortement modifié ... UTF-8 et Php 5.4.
Contribs installées : down_for_maintenance_v 2.3 | Estimated Shipping v1.5 | imprint_1_3_5 | low_stock_report_v2.04 | visible_countries_1.2b | Products Tabs | shoppingCart_cleanup_v1.01.0 | + trop de bidouilles persos pas très OsCommerce (erreurs de jeunesse) Config 2 en local avec UwAmp : Osc Phoenix |
|
Version bas débit | Nous sommes le : 29th March 2024 - 12:57 |
Ce site est déclaré auprès de la commision Nationale de l'Informatique et des Libertés (déclaration n°: 1043896) |