Aller au contenu

le_fleau

Actif
  • Compteur de contenus

    23
  • Inscrit(e) le

  • Dernière visite

Réputation sur la communauté

0 Neutre

Information du profil

  • Genre
    Homme
  1. le_fleau

    Organiser les résultats d'une requête MySQL

    Bonsoir à tous, J'ai une base de données, et j'aimerais organiser les résultats en fonction de plusieurs champs de la base de données... Etant donnné qu'une petite illustration vaudra mieux que de longs discours, voici le schéma... le premier tableau représente la base de données telle qu'elle est, et la suite représente ce que je souhaiterais réaliser La seule chose que j'ai réussi à faire, c'est déjà trier par hauteur et longueur... Par contre, pour mettre les largeurs en colonne comme dans l'image... je sais pas du tout ! donc, voici ce que j'ai fait, tout en lignes Sad <?php $sql = "SELECT hauteur, largeur, reference, longueur FROM table"; $result = mysql_query($sql); $h = 0; $l = 0; while ($row = mysql_fetch_array($result)) { if($h!=$row['lhauteur'] OR $l!=$row['longueur']) { if($h!=0 AND $l!=0) echo '</table>'; echo '<h1>Hauteur '.$row['hauteur'].' / Longueur '.$row['longueur'].' mm</h1><table><tr><th>Largeur</th><th>Reference</th></tr>; } echo '<tr><td>'.$row['largeur'].'</td><td>'.$row['reference].'</td></tr>'; $h = $row['hauteur']; $l = $row['longeur']; } ?> D'avance merci pour votre aide...
  2. le_fleau

    Ajax et suggestions de saisie

    Il fallait mettre la fonction xxx() dans le fichier index1.php et enlever le opener.
  3. le_fleau

    Ajax et suggestions de saisie

    J'ai mis en ligne une page d'exemple : ici. La page ajax.php est aussi en ligne : ici. D'avance merci pour votre aide.
  4. le_fleau

    Ajax et suggestions de saisie

    Bonjour, Je travaille sur la création d'un formulaire d'envois de messages privés sur mon site. Je suis en train d'essayer de créer une sorte de saisie semi automatique pour le pseudo afin qu'à partir des premières lettres tapées, des suggestions de pseudos soient faites à partir de la base de données. Je m'appuie pour cela sur le tuto : suivant. J'ai deux problèmes. Déjà il arrive que le script fasse planter Firefox, et il ne fonctionne pas sous Internet Explorer (en tous cas, la partie où la base de données et interrogée ne renvoit pas de résultat). Je pense que l'erreur vient de l'imbrication des fonctions writediv et file dans le fichier index1.html. Ensuite, je voudrais qu'en cliquant sur un élément de la liste contenue dans la page ajax.php, la valeur sélectionnée soit récupérée dans le champs <input name="destinataire" id="destinataire" />. C'est dans ce but que j'ai programmé la fonction javascript xxx() dans le fichier ajax.html, mais elle ne fonctionne pas. Voici donc le code de la page principale (qui contient le formulaire) que l'on va appeller index1.php : <html><head></head> <body> <script type="text/javascript"> function writediv(texte) { document.getElementById('pseudobox').innerHTML = texte; } function verifPseudo(pseudo) { if(pseudo != '') { if(pseudo.length<3) writediv('<span style="color:#cc0000"><b>'+pseudo+' :</b> ce pseudo est trop court</span>'); else if(pseudo.length>30) writediv('<span style="color:#cc0000"><b>'+pseudo+' :</b> ce pseudo est trop long</span>'); else writediv(file('ajax.php?destinataire='+escape(pseudo))) } } function file(fichier) { if(window.XMLHttpRequest) // FIREFOX xhr_object = new XMLHttpRequest(); else if(window.ActiveXObject) // IE xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); else return(false); xhr_object.open("GET", fichier, false); xhr_object.send(null); if(xhr_object.readyState == 4) return(xhr_object.responseText); else return(false); } </script> <form method="post" action="page2.php"> <input type="text" id="destinataire" name="destinataire" /><div id="pseudobox"></div> </form> </html> Voici ensuite le code de la page ajax.php qui est appellée dans index1.php <!doctype html public "-//W3C//DTD HTML 4.0 //EN"> <html> <head> <script language="JavaScript" type="text/javascript"> function xxx(newtext) { opener.document.getElementById('destinataire').value = newtext; } </script> </head> <body> <?php include("config.php"); _AT_mysql_connect($hostname,$user,$pass) or die("Impossible de se connecter"); _AT_mysql_select_db("$database") or die("Impossible de se connecter"); $sql = "SELECT pseudo FROM table_membres WHERE pseudo LIKE '%".$_GET['destinataire']."%'"; $result = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); $i = 0; echo '<ul>'; while ($row = mysql_fetch_array($result)) { $i++; echo '<li><a href="#" onclick="xxx('.$row['pseudo'].')">'.$row['pseudo'].'</a></li>'; } if($i==0) echo '<li>Il n\'y a pas aucun membre pseudo</li>'; echo '</ul>'; mysql_close(); ?> </body> </html> D'avance merci pour votre aide
  5. le_fleau

    Mauvais positionnement sous FF

    Bonjour et merci à vous deux Désolé de répondre aussi tard. Dans un premier temps, je vais appliquer la méthode de tom_sawyer, il faudrait que je fasse des ajustements tout de même pour que l'affichage soit similaire à celui que je recherchais. Je ne maîtrise pas les commentaires conditionnels et je ne sais pas comment en placer pour Firefox. Je rechercherais dans ce sens en rentrant de vacances Merci en tous cas pour votre aide Bonnes fêtes à tous !
  6. le_fleau

    Mauvais positionnement sous FF

    Salut et merci Sentenza J'ai donc essayé la solution que tu me proposes, mais en fait, cela créé un autre problème sous firefox, le tableau a bien l'alignement horizontal que je cherche, mais il apparait à la fin de mes colonnes de droite et de gauche, donc assez bas :s : -http://www.site-exemple.com/home/sport-ligue1.html **EDIT Administrateur (TheRec)** Edition des liens morts et suppression de la marque à la demande de l'auteur.
  7. le_fleau

    Mauvais positionnement sous FF

    Bonjour, Je suis en train de restructurer mon site en XHTML Strict. J'aurais une petite question par rapport à cette page : -http://www.site-exemple.com/home/sport-ligue1.html . Comment faire pour que le tableau s'affiche sous la barre avec l'onglet "Classement" sous Firefox. Le résultat s'affiche correctement sous IE, mais pas sous Firefox. COmment résodre le problème ? J'ai isolé les éléments qui posent problème dans cette page : -http://www.site-exemple.com/essai.html . Sous firefox, le tableau n'apparait pas sous le <div id="onglets">......</div>, il apparaît à droite des onglets Le problème est illustré ci dessous. Le tableau dont je parle est entouré en rouge : Résultat sous IE (affichage correct) : Résultat sous Firefox (avec le problème) : Voici le code CSS des onglets : #onglets { float : left; width : 100%; margin-bottom:10px; background : url("img/onglet_bg.gif") repeat-x bottom; font-size : 93%; line-height : normal; } #onglets ul { margin : 0; padding : 10px 0px 0; list-style : none; } #onglets li { display : inline; margin : 0; padding : 0; } #onglets a { float : left; background : url("img/onglet_left.gif") no-repeat left top; margin : 0; padding : 0 0 0 9px; border-bottom : 1px solid #999; text-decoration : none; } #onglets a span { float : left; display : block; background : url("img/onglet_right.gif") no-repeat right top; padding : 5px 6px 4px 1px; font-weight : bold; color : #808080; } #onglets a span { float : none; } #onglets a:hover span { color : #333; } #onglets #current a { background-position : 0 -150px; border-width : 0; } #onglets #current a span { background-position : 100% -150px; padding-bottom : 5px; color : #333; } #onglets a:hover { background-position : 0% -150px; } #onglets a:hover span { background-position : 100% -150px; } Comment faire pour que l'affichage soit le même que sous IE ? (c'est à dire que le tableau s'affiche sous les onglets). D'avance merci pour votre aide. **EDIT Administrateur (TheRec)** Edition des liens morts et suppression de la marque à la demande de l'auteur.
  8. le_fleau

    Conflit entre 2 expressions regulières

    Merci Dan, mais j'ai mis la fonction de bbcode img avant la transformation des urls ... ensuite, il y a d'autre fonctions bbcode qui celles ci doivent etre placées apres la transformation des url, mais je ne les ai pas retranscrites dans mon post.
  9. le_fleau

    BBCode YouTube / Google Video / Dailymotin

    Merci Keroin, pour tout t'avouer, je ne connaissais pas Metacafe, mais si je peux, je rajoute une balise pour ce prestataire.
  10. le_fleau

    Conflit entre 2 expressions regulières

    Bonsoir à tous, Voici un petit problème que je n'arrive pas à résoudre... J'ai une fonction qui doit transformer les URL en liens cliquables et une fonction de BBCode pour la balise image. Or, la balise [ IMG ] peut contenir ... une URL. et ma première fonction transforme alors l'url de l'image en lien clicable ; ce qui donne des : <img src="<a href=&quot;http://site.com/image.gif"> alt="" /> ... comment résoudre ce problème ? Voici les lignes de code, dans l'ordre (PS : j'ai ajouté un espace après img dans la balise BB pour pouvoir poster sur ce forum) function rogneurl1($url) { $nb = strlen($url[0]); $link = ($nb > 50) ? substr($url[0], 0, 50)."(...)" : $url[0]; $lien = '<a href="'.$url[0].'">'.$link.'</a>'; return $lien; } function rogneurl2($url) { $nb = strlen($url[4]); $link = ($nb > 50) ? substr($url[4], 0, 50)."(...)" : $url[4]; $lien = $url[2].'<a href="http://www.'.$url[4].'">www.'.$link.'</a>'; return $lien; } function ck($img) { ini_set('allow_url_fopen', '1'); $image=''; if (@fclose(@fopen($img[1], 'r'))) { $tab = getimagesize($img[1]); // on récupère la taille de l'image $width = ($tab[0] > 370) ? ' width="370"' : ''; $image = '<img src="'.$img[1].'"'.$width.' alt="Image Utilisateur" />'; } return $image; } function bbcode($chaine) { $chaine = preg_replace_callback('#\[img ](.+?)\[/img ]#si','ck',$chaine); $chaine = preg_replace_callback("`(((ftp://)|(http(s?)://))(([[:alnum:]]|[-\%\.\?\=\#\_\:\&\/\~\+\@\,\;])*))`i",'rogneurl1',$chaine); $chaine = preg_replace_callback("`(([^/])www\.|(^www\.))(([[:alnum:]]|[-\%\.\?\=\#\_\:\&\/\~\+\@\,\;])*)`i",'rogneurl2',$chaine); } ?>
  11. le_fleau

    BBCode YouTube / Google Video / Dailymotin

    Merci à vous deux pour vos réponses ! Finalement, j'ai créé deux balises, une pour Youtube, l'autre pour Dailymotion. Bien que pour dailymotion ce ne soit pas pratique, car l'id est difficilement récupérable, et pour l'utilisateur basique d'internet, ça risque d'être confus. Le lecteur commun demandait visiblement de connaitre l'url exacte du film ce qui peut etre un peu compliqué. En tous cas, pour youtube, c'est tout à fait simple, il suffit de recopier l'id dans l'url. Je me suis donc inspiré des liens que vous m'avez donné, j'ai un peu retravaillé ça à ma sauce (bien que je ne sois pas un expert en expressions regulières) et voilà ce que ça donne : <?php $chaine = preg_replace('`\[dailymotion](.+?)\[/dailymotion]`si','\n\t\t\t\t\t<object type="application/x-shockwave-flash" data="http://www.dailymotion.com/swf/$1" width="370" height="310">\n\t\t\t\t\t<param name="movie" value="http://www.dailymotion.com/swf/$1" />\n\t\t\t\t\t<strong>Flash non detecté</strong>\n\t\t\t\t\t</object>\n\t\t\t\t\t<a href="http://www.dailymotion.com">\n\t\t\t\t\t<br />\n\t\t\t\t\t<strong>\n\t\t\t\t\tPowered by Dailymotion\n\t\t\t\t\t</strong>\n\t\t\t\t\t', $chaine); $chaine = preg_replace('`\[youtube](.+?)\[/youtube]`si','\n\t\t\t\t\t<object type="application/x-shockwave-flash" data="http://www.youtube.com/v/$1" width="370" height="304">\n\t\t\t\t\t<param name="movie" value="http://www.dailymotion.com/swf/$1" />\n\t\t\t\t\t<strong>Flash non detecté</strong>\n\t\t\t\t\t</object>\n\t\t\t\t\t<a href="http://www.youtube.com/watch?v=$1">\n\t\t\t\t\t<br />\n\t\t\t\t\t<strong>\n\t\t\t\t\tVoir le film sur Youtube\n\t\t\t\t\t</strong>\n\t\t\t\t\t', $chaine); ?> Pouvez vous le cas échéant m'aider à améliorer ce code ? N'y a t-il pas de risque de sécurité majeur ? En ce qui concerne Dailymotion, je pense qu'ils seront obligé de s'adapter et de simplifier leur gestion des URL car de plus en plus de webmasters vont vouloir permettre aux membres de diffuser leurs vidéos, comme pour les images.
  12. le_fleau

    BBCode YouTube / Google Video / Dailymotin

    C'est un forum que j'ai conçu moi même. Et j'utilise une fonction BBCode que j'ai trouvé sur le net : http://www.phpcs.com/codes/BBCODE-HTML_31264.aspx
  13. le_fleau

    BBCode YouTube / Google Video / Dailymotin

    Bonjour, J'ai créé mon propre forum et je recherche comment offrir la possibilité de proposer à mes visiteurs d'inclure des vidéos dans leurs posts avec, si possible une balise commune à YouTube, Google Vidéo et Daylimotion. Avez-vous connaissance d'une expression regulière permettant cela ? Est-ce légal ? (Je suppose que oui, puisque l'on peut inclure ces vidéos dans les blogs). Le mieux serait biensûr de pouvoir mentionner la source, mais cela peut devenir très compliqué techniquement ... D'avance merci pour votre aide
  14. le_fleau

    Problème de motif

    Bonjour à tous, Pour redimensionner mes images, j'utilise un preg_replace_callback avec des expressions regulières. : $chaine = preg_replace_callback('#\<img src="(.+?)" alt="" />#i','checkWidth',$chaine); La fonction checkWidth consiste à tester la longueur des images à la raccourcir si elle dépasse 400 pixels. Cependant, il y a un problème dans le motif.... Car il faudrait que cela ne s'applique qu'aux balises images n'ayant pas d'attribut width. Or, tel que le motif est écrit, il s'applique aussi aux balises images ayant un attribut width, car il considère que "(.+?)" peut contenir "[color=#FF0000]http://site.com/image.gif" width="400" si ma balise est <img src=&quot;http://site.com/image.gif" width="400" alt="" /> ..... Ce qui bien évidement pose des problèmes. Comment faire pour ne traiter que les balises qui n'ont pas d'attribut width ? J'avais essayé de changer le motif en <img src="(.+?)" [^width="400" ]alt="" /> mais sans succès. Comment exclure par exemple une chaine telle que width="400" ? En fait, je voudrais ne capturer que les balises img qui n'ont pas d'attribut width (après src). D'avance merci pour votre réponse.
  15. le_fleau

    Problème d'affichage sous Firefox

    Oui, effectivement merci, j'ai supprimé la hauteur de 20 pixels, et ça va mieux, même pour les tableaux ! Cette hauteur servait en fait à corriger un ancien bug sous Firefox Merci pour ton aide.
×