|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||
|
Invité de passage
![]() Inscription : juillet 2009 Messages : 7 ![]() |
Salut,
Tout d'abord j'espère que vous pardonnerez mes lacunes: je débute :-° Je cherche à modifier un script PHP de petites annonces. Actuellement, le script ne permet que de poster dans une seule ville, mais je cherche à mettre en place une checkbox qui permettrait de sélectionner plusieurs villes pour qu'y soit postée la même annonce.. En ce qui concerne la checkbox, je devrais avoir ceci: Code :
Je vous épargne le code très long pour ne poster ici que l'extrait qui m'intéresse: Code :
Je pense que le bout de code ci-dessus (cityid = $xcityid) est à modifier, et c'est ici que mes connaissances limitées me bloquent... J'ai bien essayé d'intégrer le code suivant: Code :
...mais sans succès. Je dois être à côté de la plaque. Merci d'avance à ceux qui m'apporteront leur aide. |
||||||
|
|
00
|
|
|
#2 | ||
|
Expert Confirmé
![]() Inscription : mars 2005 Messages : 2 815 ![]() |
Citation:
Citation:
En tout cas je suis étonné de l'usage fait de ta table $t_ads, es-tu sûr que tu pourras y stocker plusieurs villes pour une même annonce ?
__________________
Un problème exposé clairement est déjà à moitié résolu Keep It Smart and Simple |
||
|
|
00
|
|
|
#3 | |||||
|
Invité de passage
![]() Inscription : juillet 2009 Messages : 7 ![]() |
Merci pour ta réponse.
Lorsque je coche les checkbox, en cliquant sur submit j'ai l'erreur suivante: Fatal error: Unsupported operand types qui envoie vers une fonction qui apparemment teste la nature numérique de la valeur entrée: Code :
Citation:
J'y suis parvenu en faisant plusieurs insert (en rensignant manuellement les ID des villes, de la manière -basique- suivante: Code :
Mais comment le faire à partir de checkboxes ? |
|||||
|
|
00
|
|
|
#4 | |||||||
|
Expert Confirmé
![]() Inscription : mars 2005 Messages : 2 815 ![]() |
Citation:
Citation:
![]() Citation:
Code :
__________________
Un problème exposé clairement est déjà à moitié résolu Keep It Smart and Simple |
|||||||
|
|
10
|
|
|
#5 | |||||
|
Invité de passage
![]() Inscription : juillet 2009 Messages : 7 ![]() |
Citation:
Pour créer t_ads, j'ai: Code :
Malheureusement, je ne saisis pas bien comment la table que je créerais, pourrait contenir plusieurs villes pour une même annonce. Pardonne mon ignorance |
|||||
|
|
00
|
|
|
#6 | |
|
Expert Confirmé
![]() Inscription : mars 2005 Messages : 2 815 ![]() |
Que vaut la variable $t_ads ?
Citation:
villes (id, nom) : 1, Paris 2, Lyon annonces (id, texte) : 1, Loue appart sur Paris 2, Achète maison sur régions parisienne ou lyonnaise annonces_villes (annonce, ville) : 1, 1 2, 1 2, 2 La table annonces_villes contient 3 enregistrements : Le 1er fait le lien entre l'annonce de location et Paris Le 2e fait le lien entre l'annonce d'achat et Paris Le 3e fait le lien entre l'annonce d'achat et Lyon La 1re annonce est liée à 1 ville, la 2e annonce à 2 villes
__________________
Un problème exposé clairement est déjà à moitié résolu Keep It Smart and Simple |
|
|
|
00
|
|
|
#7 | ||
|
Invité de passage
![]() Inscription : juillet 2009 Messages : 7 ![]() |
Merci Séb.
J'ai créé la table, je ne parviens pas à y entrer des données, mais ce qui me tracasse le plus c'est la gestion dans l'url de ces différentes villes où se trouve l'annonce. Par défaut, pour une seule ville, nous avons une url de type: http://test.com/index.php?view=showad&adid=1&cityid=1 Si je poste une seule et même annonce dans plusieurs villes, n'aurais-je pas théoriquement plusieurs valeurs dans l'url après cityid= ? Je ne pense pas que le script pourrait gérer ça. Il faudrait sans doute réécrire une bonne partie du code. Crois-tu qu'il serait possible, toujours à partir d'un checkbox, de publier la même annonce dans plusieurs villes ? Comme indiqué plus haut, j'y suis parvenu en faisant plusieurs INSERT INTO successifs dans lesquels seul changeait la valeur de cityid, mais pas avec des checkboxes. En fait je cherche à faire ceci: Pour chaque checkbox cochée, exécuter l'INSERT suivant: Code :
|
||
|
|
00
|
|
|
#8 | |||||
|
Expert Confirmé
![]() Inscription : mars 2005 Messages : 2 815 ![]() |
Citation:
Citation:
Citation:
Citation:
Citation:
__________________
Un problème exposé clairement est déjà à moitié résolu Keep It Smart and Simple |
|||||
|
|
00
|
|
|
#9 | ||||||
|
Invité de passage
![]() Inscription : juillet 2009 Messages : 7 ![]() |
Citation:
Code :
Code :
Citation:
Ok, mais aurais-tu un exemple concret s'il te plaît ? Je n'attends pas de trouver le code complet, mais cette aide me permettrait de corriger mes erreurs et d'effacer quelque lacunes (elles sont légion, suis débutant).
|
||||||
|
|
00
|
|
|
#10 | ||
|
Expert Confirmé
![]() Inscription : mars 2005 Messages : 2 815 ![]() |
Citation:
Citation:
__________________
Un problème exposé clairement est déjà à moitié résolu Keep It Smart and Simple |
||
|
|
00
|
|
|
#11 | |||||||||
|
Invité de passage
![]() Inscription : juillet 2009 Messages : 7 ![]() |
La structure de l'url est spécifiée dans une fonction qui la construit. Du genre:
Code :
Citation:
Par défaut, on arrive d'abord sur une page sur laquelle on sélectionne la ville dans laquelle on va poster l'annonce. En cliquant sur le lien d'une des villes, on vient de sélectionner $xcityid. extrait de cette page: Code :
On sélectionne la catégorie (catid) puis la sous-catégorie (subcatid). Ceci fait, toujours dans post.php, on rédige l'annonce. Avec ma modif (à 2 balles j'en suis conscient), l'annonce, en cliquant sur submit, ne va pas se poster dans une ville, mais dans toutes à la fois. Car au lieu d'une requête, avec le $xcityid correspondant à ce que l'on a choisi dans la page précédente, j'en ai plusieurs: au lieu de: Code :
Code :
C'est nul, mais ça fonctionne. J'aimerais, au lieu de ça, utiliser un checkbox dans la page précédente. |
|||||||||
|
|
00
|
|
|
#12 | ||||
|
Invité de passage
![]() Inscription : juillet 2009 Messages : 7 ![]() |
Voici quelques nouvelles du front.
Après quelques tests/recherches, il est tout à fait possible de "multiposter" une annonce tout en permettant au dit annonceur d'éditer/supprimer ses annonces par un seul et même lien. Multiposter signifie ici "dupliquer", mais en attribuant à chaque annonce une url différente, puisque l'élément cityid, présent dans l'url, change en fonction de la ville. Au départ je pensais que poster une annonce sur 50 villes -par cette technique- obligerait à éditer 50 liens. Mais il et possible de rationaliser la chose: pour se faire, il est nécessaire, dans mon cas, de créer une nouvelle colonne dans la table $t_ads qui stipulera les annonces qui ont été postées via l'option "multipost" ou alors d'effectuer une recherche sur les annonces qui ont été postées avec le même titre et au même instant, et effectuer un update de masse sur ces adid. Ainsi, un seul lien éditerait toutes les annonces postées, mais je m'égare, car ce n'est pas l'objet de ma demande d'aide: Concrêtement: Admettons que je poste une annonce en choisissant plusieurs villes de parution. Je bascule donc du mode classique (ie prévu par le script que j'utilise, c'est à dire poster une annonce dans une ville déterminée), vers le mode "multipost" qui nous intéresse. Je choisis 2 villes au lieu d'une. Je cocherais donc, pour se faire, les 2 cases correspondant aux deux villes choisies. C'est le checkbox que je tente de faire. J'effectue 2 requêtes INSERT INTO pour ces deux villes. L'annonce est donc publiée 2 fois, mais avec 2 id de villes différents: les urls sont donc différentes, ce qui rend également différentes (par un bout de code) les balises <title> et meta pour ces deux annonces, et même -en partie- le titre de l'annonce, et le début/ou/la fin de la description de l'annonce, ceci afin de limiter l'effet de "duplicate content" au niveau des moteurs de recherche. exemple: ![]() Comme on peut le constater ci-dessus, plusieurs requête quasi identiques (en changeant seulement, à chaque fois, la valeur de cityid) permettent de poster x fois la même annonce -sauf que, bien entendu, cityid change à chaque fois... Pour réaliser l'exemple ci-dessus, j'ai besoin de connaître la manière d'effectuer, pour chaque case cochée (checkbox) un INSERT INTO. J'ai effectué des recherches à ce sujet, en vain. Un grand merci à celui/celle qui me mettra sur la piste... Je dois, à partir du formulaire suivant: Code :
exécuter, grâce à un code mettant en oeuvre des checkboxes, la requête suivante: Code :
|
||||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com