Accueil > Forum > > > > Aide pour création site d'annonces
Aide pour création site d'annonces
lundi 29 décembre 2008 à 22:17:17 |
Aide pour création site d'annonces

ricfred
|
Bonjour, Je suis à la recherche d'aides pour la création de mon site d'annonces. J'ai déjà créé un site internet il y a quelques annnées mais il s'agissait que de HTML. Cette fois il faut avoir des connaissance en PHP et c'est la que les problèmes se posent. Je suis novice et donc débutant en PHP. Un ami s'y connait un peu plus que moi mais on galère quand même beaucoup. Il y aura 2 principaux onglet sur ce site: Un onglet principal qui sera également "l'accueil" de ce site et qui sera composé d'un mini "moteur de recherche" interne (allant cherché dans une BDD). Un onglet "formulaire d'inscription d'annonces" qui alimentera la BDD. Nous rencontrons plusieurs petits problèmes et notament en ce qui concerne la recherche. Nous voulons que l'utilisateur puisse faire sa recherche en entrant son code postal dans un champ. IL validera ensuite ce code postal et il aura ensuite la liste des communes correspondant à son code postal. Nous avons une BDD des villes avec leurs codes postaux et leurs coordonnées GPS pour la géolocalisation. Il suffira alors qu'il sélectionne sa ville dans cette liste pour qu'elle puisse être validée comme dans le site suivant : [ Lien ] L'utilisateur pourra ensuite entrer une valeur kilomètrique de son choix (5kms-20kms-40kms-60kms) pour effectuer une recherche dans un rayon autour de sa ville comme le site suivant : http://www.paruvendu.fr/auto-moto/rech [...] les-occasion/ Pouvez-vous nous aider à créer ce script ? J'ai trouvé 2 liens qui parlent de la sélection d'une ville par son code postal : http://www.phpcs.com/codes/RECHERCHE-V [...] IS_36429.aspx et http://www.javascriptfr.com/codes/CODE [...] RE_15991.aspx Je ne sais pas par ou commencé. J'espère que vous pourrez m'aider. Je ne préfère pas parler rémunération mais sachez que je récompenserai comme je le pourrai ceux où celui qui pourra vraiment nous aider. Merci. Salut et à bientôt ! 
|
|
lundi 29 décembre 2008 à 23:08:59 |
Re : Aide pour création site d'annonces

kohntark
|
Salut, (je ne fais que passer) J'ai fait ça en début d'année. Peux tu poster la structure de ta base ? Ca te coutera 0 ¤ (mais ce coût risque d'être multiplié par 1000 par la suite  ) (... je suis passé) Kohntark -
|
|
lundi 29 décembre 2008 à 23:21:40 |
Re : Aide pour création site d'annonces

ricfred
|
Salut, La structure de ma base ? Que veux-tu dire ? C'est une base Sql avec nom des villes, codes postaux, codes INSEE, et coordonnées GPS de chaque villes. c'est tout. Ensuite, j'ai récupèré un script mais il faut que je le réadapte à ma BDD mais je n'y comprends rien du tout. Quelqu'un peu m'aider à déchiffrer ce script ? Il s'agit du script permettant de saisir une ville avec le code postal, où d'avoir la liste de toutes les villes d'un département si on ne met que les 2 premiers chiffres : <?php ob_start (); ?> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> <head> <link rel="stylesheet" type="text/css" href="css/maindoc.css" /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <?php /** *includes pour php5 * */ require_once 'php5/ocity.cls.php'; require_once 'php5/oajax.cls.php'; /** *includes pour php4 * */ /* require_once 'php4/ocity.cls.php'; require_once 'php4/oajax.cls.php'; */ $ville = new ocity ('../villes/data.dat'); $ajax = new oajax; echo $ajax -> setHeader (); echo $ajax -> buildAjax (); echo $ajax -> search (); echo $ajax -> setFooter (); $sBuffer = ob_get_clean (); $bCheck = $ville -> getSearch (); ob_start (); ?> </head> <body> <div id="msg">Attente</div> <input type="text" name="mySearch" id="mySearch" /> <input type="button" value="Chercher" onclick="search (''+document.getElementById('mySearch').value+'', 0);" style="cursor:pointer;"/> <div id="divContent"> </div> </body> </html> <?php $sBuffer .= ob_get_clean (); if ($bCheck === false) { echo $sBuffer; } ?> Salut et à bientôt ! 
|
|
mardi 30 décembre 2008 à 09:37:36 |
Re : Aide pour création site d'annonces

kohntark
|
Salut,
Il faudrait avoir les 4 fichiers des require_once pour pouvoir t'aider
Cordialement,
Kohntark -
|
|
mardi 30 décembre 2008 à 10:29:07 |
Re : Aide pour création site d'annonces

ricfred
|
Pas de problèmes : Voici le php4/ocity.cls.php :
<?php class oajax {
function setHeader () { $sString = <<<HTML <script type="text/javascript"> HTML; return $sString; }
function setFooter () { $sString = <<<HTML </script> HTML; return $sString; }
function buildAjax () { $sString =<<<HTML
if (window.XMLHttpRequest) { oXmlhttp = new XMLHttpRequest(); } else if (window.ActiveXObject) { oXmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }
HTML; return $sString; }
function search () { $sString =<<<HTML function search (sS, bSort) { if (sS != '') { oXmlhttp.open('POST','{$_SERVER['PHP_SELF']}'); oXmlhttp.onreadystatechange=function() { if (oXmlhttp.readyState==1) { document.getElementById ('msg').innerHTML = 'Chargement'; } if (oXmlhttp.readyState==2) { document.getElementById ('msg').innerHTML = 'Chargé'; } if (oXmlhttp.readyState==4 && oXmlhttp.status == 200) { document.getElementById ('msg').innerHTML = 'Attente'; document.getElementById ('divContent').innerHTML = oXmlhttp.responseText; } if (oXmlhttp.readyState==4 && oXmlhttp.status == 200) { document.getElementById ('divContent').innerHTML = oXmlhttp.responseText; } } oXmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); var data = 'data='+sS+'&sort='+bSort; oXmlhttp.send (data); } }
HTML; return $sString; } } ?>et le php4/oajax.cls.php
<?php function array_intersect_key($arr1, $arr2) { $res = array(); foreach($arr1 as $key=>$value) { $push = true; for ($i = 1; $i < func_num_args(); $i++) { $actArray = func_get_arg($i); if (gettype($actArray) != 'array') return false; if (!array_key_exists($key, $actArray)) $push = false; } if ($push) $res[$key] = $arr1[$key]; } return $res; }
function array_combine($a, $b) { $c = array(); if (is_array($a) && is_array($b)) while (list(, $va) = each($a)) if (list(, $vb) = each($b)) $c[$va] = $vb; else break 1; return $c; }
class ocity { /** * private array aVilles : data array */ var $aVilles = array (); var $aCP = array ();
/** * public static string sResult : string used to store the result of the query */ var $sResult = '';
/** * public static string sSearch : string used to store the query */ var $sSearch = '';
/** * public function __construct * constructor * @Param string dataFile : data filename. */ function ocity ($dataFile = 'data.dat') { $sVilles = file_get_contents ($dataFile); $aLines =explode ("\r", $sVilles); $aLines = file ($dataFile); foreach ($aLines as $line) { $aWord = explode (';', $line); $this -> aVilles[] = $aWord[1]; $this -> aCP[] = $aWord[0]; } }
/** * callback public static function getFirst * returns an array with the results of the query * @Returns array */ function getFirst ($val) { return (substr ($val, 0, strlen ($this -> sSearch)) === $this -> sSearch); }
/** * public function getSearch * returns the string result, called by the xmlhttp method * @Returns string sResult */ function getSearch () { if (isset ($_POST['data']) && '' !== trim ($_POST['data'])) { $this -> sSearch = strtolower ($_POST['data']); if ($this -> sSearch === '*') { $aTmpCP = $this -> aCP; $aTmpVilles = $this -> aVilles; if (isset ($_POST['sort']) && in_array ($_POST['sort'], array ('0', '2'))) { array_multisort ($aTmpVilles, $aTmpCP); } else { array_multisort ($aTmpCP, $aTmpVilles); } } elseif (is_numeric ($this -> sSearch)) { $aTmpCP = array_filter ($this -> aCP, array ($this, 'getFirst')); $aTmpVilles = array_intersect_key ($this -> aVilles, $aTmpCP); if (isset ($_POST['sort']) && in_array ($_POST['sort'], array ('0', '1'))) { array_multisort ($aTmpCP, $aTmpVilles); } else { array_multisort ($aTmpVilles, $aTmpCP); } } else { $aTmpVilles = array_filter ($this -> aVilles, array ($this, 'getFirst')); $aTmpCP = array_intersect_key ($this -> aCP, $aTmpVilles); if (isset ($_POST['sort']) && in_array ($_POST['sort'], array ('0', '2'))) { array_multisort ($aTmpVilles, $aTmpCP); } else { array_multisort ($aTmpCP, $aTmpVilles); } } $iCpt = 0; $this -> sResult .= '<div style="border: 1px solid #000000;width: 250px;background-color: #ffffff;"><span title="Trier par code postal" onclick="search (\''.$this -> sSearch.'\',1);" style="cursor: pointer; margin: 5px;font-weight: bold;text-align: left;width: 100px;">Code </span><span title="Trier par ville" onclick="search (\''.$this -> sSearch.'\',2);" style="width: 150px;cursor: pointer; margin: 5px;font-weight: bold; text-align: right;">Ville</span></div>'; foreach ($aTmp as $cp => $ville) { $sColor = ($iCpt%2 === 0)?'background-color: #cccccc;':'background-color: #ffffff;'; $this -> sResult .= '<div style="border: 1px solid #000000;width: 250px;'.$sColor.'"><span onclick="document.getElementById(\'mySearch\').value = this.innerHTML;" style="cursor: pointer; margin: 5px;'.$sColor.'">'.$cp.'</span><span onclick="document.getElementById(\'mySearch\').value = this.innerHTML;" style="cursor: pointer; margin: 5px;'.$sColor.'">'.$ville.'</span></div>'; $iCpt ++; } echo $this -> sResult; } else { return false; } } } ?>Puis le php5/ocity.cls.php
<?php class oajax {
public function setHeader () { $sString = <<<HTML <script type="text/javascript"> HTML; return $sString; }
public function setFooter () { $sString = <<<HTML </script> HTML; return $sString; }
public function buildAjax () { $sString =<<<HTML
if (window.XMLHttpRequest) { oXmlhttp = new XMLHttpRequest(); } else if (window.ActiveXObject) { oXmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }
HTML; return $sString; }
public function search () { $sString =<<<HTML function search (sS, bSort) { if (sS != '') { oXmlhttp.open('POST','{$_SERVER['PHP_SELF']}'); oXmlhttp.onreadystatechange=function() { if (oXmlhttp.readyState==1) { document.getElementById ('msg').innerHTML = 'Chargement'; } if (oXmlhttp.readyState==2) { document.getElementById ('msg').innerHTML = 'Chargé'; } if (oXmlhttp.readyState==4 && oXmlhttp.status == 200) { document.getElementById ('msg').innerHTML = 'Attente'; document.getElementById ('divContent').innerHTML = oXmlhttp.responseText; } } oXmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); var data = 'data='+sS+'&sort='+bSort; oXmlhttp.send (data); } }
HTML; return $sString; } } ?>et le php5/oajax.cls.php
<?php class ocity { /** * private array aVilles : data array */ private $aVilles = array (); private $aCP = array (); /** * public static string sResult : string used to store the result of the query */ private $sResult = '';
/** * public static string sSearch : string used to store the query */ private static $sSearch = '';
/** * public function __construct * constructor * @Param string dataFile : data filename. */ public function __construct ($dataFile = 'data.dat') { $sVilles = file_get_contents ($dataFile); $aLines =explode ("\r", $sVilles); $aLines = file ($dataFile); foreach ($aLines as $line) { $aWord = explode (';', $line); $this -> aVilles[] = $aWord[1]; $this -> aCP[] = $aWord[0]; } }
/** * callback public static function getFirst * returns an array with the results of the query * @Returns array */ private static function getFirst ($val) { return (substr ($val, 0, strlen (self::$sSearch)) === self::$sSearch); }
/** * public function getSearch * returns the string result, called by the xmlhttp method * @Returns string sResult */ public function getSearch () { if (isset ($_POST['data']) && '' !== trim ($_POST['data'])) { self::$sSearch = strtolower ($_POST['data']); if (self::$sSearch === '*') { $aTmpCP = $this -> aCP; $aTmpVilles = $this -> aVilles; if (isset ($_POST['sort']) && in_array ($_POST['sort'], array ('0', '2'))) { array_multisort ($aTmpVilles, $aTmpCP); } else { array_multisort ($aTmpCP, $aTmpVilles); } } elseif (is_numeric (self::$sSearch)) { $aTmpCP = array_filter ($this -> aCP, array ('self', 'getFirst')); $aTmpVilles = array_intersect_key ($this -> aVilles, $aTmpCP); if (isset ($_POST['sort']) && in_array ($_POST['sort'], array ('0', '1'))) { array_multisort ($aTmpCP, $aTmpVilles); } else { array_multisort ($aTmpVilles, $aTmpCP); } } else { $aTmpVilles = array_filter ($this -> aVilles, array ('self', 'getFirst')); $aTmpCP = array_intersect_key ($this -> aCP, $aTmpVilles); if (isset ($_POST['sort']) && in_array ($_POST['sort'], array ('0', '2'))) { array_multisort ($aTmpVilles, $aTmpCP); } else { array_multisort ($aTmpCP, $aTmpVilles); } } $iCpt = 0; $this -> sResult .= '<div style="border: 1px solid #000000;width: 250px;background-color: #ffffff;"><span title="Trier par code postal" onclick="search (\''.self::$sSearch.'\',1);" style="cursor: pointer; margin: 5px;font-weight: bold;text-align: left;width: 100px;">Code </span><span title="Trier par ville" onclick="search (\''.self::$sSearch.'\',2);" style="width: 150px;cursor: pointer; margin: 5px;font-weight: bold; text-align: right;">Ville</span></div>'; foreach ($aTmpCP as $clef => $cp) { $sColor = ($iCpt%2 === 0)?'background-color: #cccccc;':'background-color: #ffffff;'; $this -> sResult .= '<div style="border: 1px solid #000000;width: 250px;'.$sColor.'"><span onclick="document.getElementById(\'mySearch\').value = this.innerHTML;" style="cursor: pointer; margin: 5px;'.$sColor.'">'.$cp.'</span><span onclick="document.getElementById(\'mySearch\').value = this.innerHTML;" style="cursor: pointer; margin: 5px;'.$sColor.'">'.$aTmpVilles[$clef].'</span></div>'; $iCpt ++; } echo $this -> sResult; } else { return false; } } } ?>J'espère que cela pourra vous aider. Voyez-vous des choses inutiles ? Des choses à améliorer ? Merci. Salut et à bientôt ! 
|
|
mardi 30 décembre 2008 à 11:06:06 |
Re : Aide pour création site d'annonces

mike1310
|
Kohntark à dit : Salut, (je ne fais que passer) J'ai fait ça en début d'année. Peux tu poster la structure de ta base ? Ca te coutera 0 ¤ (mais ce coût risque d'être multiplié par 1000 par la suite  ) (... je suis passé) Kohntark - 0¤ x 1000 = 0¤ donc c'est tout bon pour lui    
|
|
mercredi 31 décembre 2008 à 11:28:54 |
Re : Aide pour création site d'annonces

kohntark
|
Salut, Ton projet est intéressant, le problème est, je cite : "mais je n'y comprends rien du tout." Résultat : tu n'es peut être pas à la bonne adresse, ce n'est pas un forum qui saura répondre à tes attentes, car nous sommes ici pour tenter de trouver des solutions à des problèmes précis, pas pour faire des scripts ou sites "tout cuit". Loin de moi l'idée de "t'envoyer sur les roses", mais ce que tu demandes nécessite plusieurs heures de travail et n'est pas gérable en ces lieux. A mon humble petit avis : - fais appel à un développeur - ou plonge les mains dans le cambouis et fais nous part de tes difficultés (là tu auras des réponses) A première vue la classe que tu souhaites utiliser ne gère pas la géolocalisation (je n'ai pas bien regardé, mais je ne vois aucun calcul là dessus) @mike1310 : c'était bien ce que je voulais dire  Cordialement, Kohntark- Kohntark -
|
|
Cette discussion est classée dans : site, code, recherche, annonces, postal
Répondre à ce message
Sujets en rapport avec ce message
probleme creation site web [ par hadesD ]
Bonjour, je suis en train de concevoir mon site web après avoir suivi plusieurs cours sur le xhtml et le php et je me confronte a diffèrent problème s
site 2 rencontres 2 sportifs [ par liam11 ]
[size=200]bonjours tt le monde j'ai 1 travail à faire ki consiste en la création d 1 site web en php pr des rencontres de sportifs. j ai essayé 1 cod
probleme memory_limit sur mon site [ par goks ]
bonjour, depuis quelque jours, j'ai ce message qui apparait alors que je n'ai pas fait de modification et que tout fonctionnais depuis plus d'un an :
[PHP]Blind Test [ par mrmickey ]
Bonjour, Je souhaite réaliser un blind test sur mon site. Néanmoins, je ne m'y connais pas assez pour créer les codes de A à Z. J'ai donc chercher su
Blind Test [ par mrmickey ]
Bonjour, [i]* Désolé pour le copier/coller du post, mais on m'a dit que j'aurai plus de réponse ici*[/i] Je souhaite réaliser un blind test sur mon
code pour recherche intuitive [ par tif27940 ]
Bonjour, j'ai un champ de recherche pour un nom ou un prénom et j'aimerai que lorsque un utilisateur commence a écrire un nom ou prénom des suggesti
besoin d'un code html ou php pour mon site [ par hitchbal ]
Bonjour à tous, désolé de vous déranger mais j'ai besoin d'un code pour mon site web. En effet j'aimerais que lorsque quelqu'un rempli un formulaire
Intégrer du php dans ce code. [ par flechefleche ]
Bonsoir, Je voudrais enfaite intégrer ce code (script de news) : [code=php]include("monsite/htdocs/news/show_news.php");[/code] dans ce code (c'est
formulaire dynamique php ,sqlserver [ par hantouva ]
bonjour; voila je fais un site web dynamique en php et jutilise une base de donnees sql server je bloque au niveau du formulaire de recherche qui do
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Forum
RE : GOOGLE MAPRE : GOOGLE MAP par inwebo
Cliquez pour lire la suite par inwebo GOOGLE MAPGOOGLE MAP par fatmanajjar
Cliquez pour lire la suite par fatmanajjar
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|