Aller au contenu

TheRec

Hubmaster
  • Compteur de contenus

    1 777
  • Inscrit(e) le

  • Dernière visite

Tout ce qui a été posté par TheRec

  1. Non ce n'est pas possible aussi facilement, pour deux raisons, la première est que le deuxième paramètre de RedirectMatch (oui car la syntaxe que tu as utilisée correspond à un RedirectMatch, pas Redirect permanent ou RedirectPermanent) n'est pas une expression régulière, la seule spécialité est qu'il peut accepter les références arrières, comme tu l'as fait avec $1. La deuxième est que pour faire ce que tu souhaites, il faudrait que le nom de l'utilisateur soit disponible dans l'URL de base, apparemment ce n'est pas le cas. Ainsi, la solution la plus simple est d'utiliser l'ancienne page pour effectuer une redirection (301, permanente) grâce à la fonction PHP nommée header. Depuis PHP tu pourras récupérer le nom de l'utilisateur (grâce à son id, dans ta base de données je suppose) et effectuer une redirection vers la bonne page (avec le nom d'utilisateur dans l'URL). Sinon, dans le cadre d'une expression régulière (ou plus justement, rationnelle), le meta-caractère signifiant "n'importe quel caractère" est le "." (point), ensuite tu lui fais succéder un quantificateur comme "+" (1 ou plus), "*" (0 ou plus) ou "?" (0 ou 1). Si tu veux une explication exhaustive de PCRE (moteur d'expression rationnelles), PHP dispose d'une page à ce sujet. Bonne continuation.
  2. TheRec

    CONCAT_WS

    Super ! Content d'avoir pu t'aider. Tes solutions sont partiellement correcte, dans la mesure ou tu peux garantir qu'il n'y aura pas la chaîne ", , " dans les champs qui seront concaténés, sinon elle sera remplacée alors que ce n'était pas un champs de chaîne vide qui aura causé l'apparition de cette chaîne Pour information, ISNULL n'est pas équivalent à IFNULL. La première est une fonction qui retourne 0 ou 1 en évaluant si la valeur testée est NULL ou non. Et IFNULL vérifie si la valeur du premier paramètre est NULL, si c'est le cas la valeur du deuxième paramètre est retournée, sinon c'est la valeur du premier paramètre qui est retournée. Encore une précision IS NULL n'est pas non plus équivalent à ISNULL, le premier est un opérateur et le second est une fonction Bonne continuation !
  3. TheRec

    CONCAT_WS

    Ouais, en fait ni l'un ni l'autre... NULLIF est le plus approprié après avoir cherché un peu plus dans le manuel ... mais de toute façon toutes ces fonctions font la même chose Mais ça c'est plus court et propre : SELECT CONCAT_WS(', ', NULLIF('Mot',''), NULLIF(NULL,''), NULLIF('phrase',''), NULLIF('',''), NULLIF('point.',''));
  4. Tu as mis le doigt dessus, c'est bien le "+" qui pose problème. Ce caractère a une valeur spécifique dans une expression régulière (c'est une quantificateur), si tu veux l'utiliser pour sa valeur textuelle, il faut l'échapper en la précédant d'un backslash RewriteCond %{QUERY_STRING} ^typerecherche=parrubrique&rubrique=ma\+rubrique&begin=([0-9]+)$ RewriteRule ^mapage.php$ http://www.monsite.fr/catalogue/motclef-%1\.html? [R=301,L] Sinon pour ta RewriteRule, le R=301 n'est pas absolument nécessaire, dès que le second paramètre est une URL complète mod_rewrite effectue une redirection permanente... mais en même temps au moins là c'est plus visuel
  5. TheRec

    CONCAT_WS

    Tu peux certainement utiliser un IF, pas de problème de ce côté ... mais si ISNULL reste inutile, on souhaite détecter une chaîne vide, et ISNULL considère qu'une chaîne vide n'est pas NULL Il faudrait utiliser IF et retourner NULL lorsque la comparaison est positive... et ceci pour chaque paramètre de la fonction CONCAT_WS à concaténer. J'ai tendance à réaliser cela dans le code de l'application, pas sur le serveur de base de donnée, à moins qu'il y ait vraiment besoin de faire une tri ou une autre tâche sur le champ après concaténation. Je mets un exemple à titre indicatif, mais c'est peu représentatif vu que les valeurs sont fixes, ce serait plus représentatif avec des noms de champs : SELECT CONCAT_WS(', ', IF('Mot' <> '','Mot',NULL), IF(NULL <> '','Mot',NULL), IF('phrase' <> '','phrase',NULL), IF('' <> '','',NULL), IF('point.' <> '','point.',NULL)); À la sortie on se retrouve bien avec :
  6. TheRec

    CONCAT_WS

    En quoi est-ce que cela résout le problème (pour peu qu'il y en ait un, apparemment c'est le comportement normal de la fonction CONCAT_WS) ? ISNULL (dans une requête) va retourner 0 ou 1... je ne vois pas où cela serait utile
  7. TheRec

    CONCAT_WS

    Ne t'inquiète pas, je ne risque pas de m'énerver pour si peu Je cherchais à comprendre le but de ton intervention. Tout dépend du mode de fonctionnement de l'équipe de développement, est-ce que les développeurs documentent leur travail correctement, est-ce que la documentation est rédigée en amont, en aval ou pendant le développement, etc... En plus c'est un développement Open-Source, donc s'il y a vraiment un problème on peut toujours aller au cur de celui-ci pour comprendre ce qui ne va pas. Je n'ai pas connaissance du changement des types DATE et DATETIME dont tu parles, aurais-tu plus de détails à ce sujet s'il te plaît ?
  8. TheRec

    CONCAT_WS

    Ou simplement que la documentation originale utilisée pour la traduction a été modifiée entre-temps parce qu'elle était erronée (et que la fonction est prévue pour fonctionner ainsi)... en même temps je ne vois pas en quoi cela change quelque chose le fond de mon propos.
  9. TheRec

    CONCAT_WS

    Le comportement que tu décris est le même chez moi. Les chaînes vides ne sont pas ignorées, mais les valeurs NULL le sont. Le problème n'en est pas réellement un, c'est une erreur de traduction du manuel en français apparemment : Source: MySQL 5.0 Reference Manual :: 11.4 String Functions Préfère toujours la version originale des manuels si tu le peux car l'adage italien "Traduttore, traditore" (dont le sens est que toute traduction est une trahison) se vérifie bien souvent
  10. Peut-être que tu trouveras ton bonheur avec cette méthode : A revised and simplified CSS left flyout menu that works in IE Tout cela en sachant que cela requiert du Javascript (pour corriger un comportement gênant de Internet Explorer, sans cela le menu semble fonctionnel, mais l'animation flash devient cliquable et une info-bulle apparaîtra :S) et à en lire la description l'utilisation faire de <object>/<embed> n'est pas conforme au recommandations du W3C, à voir si cela est adaptable pour être conforme à ces recommandations À toi de voir si tu peux utiliser cette technique comme base, bonne chance et bonne continuation.
  11. TheRec

    IE J'adorre

    En fait connaître les valeurs par défaut non, mais tu peux connaître les valeurs CSS héritées par n'importe quel élément grâce à l'outil d'inspection. C'est assez antinomique de vouloir baser ton intégration sur ces valeurs, car elles changent dans tous les navigateurs, la solution est de définir ce que tu veux définir et n'utiliser l'héritage que lorsque tu es certain des effets qu'il a parmi tous les navigateurs. Il faut aussi être conscient que certains navigateurs n'appliquent pas l'héritage de la même façon, pour ne citer qu'un exemple, la propriété font-size n'est pas hérité du parent mais de l'élément <body> dans un tableau dans Internet Explorer 6, alors que la majorité des navigateurs gère cela correctement... pour palier à cela il suffit de définir effectivement la taille à appliquer (par exemple font-size: 1em; pour conserver la taille de l'élément parent). Un peu de lecture en relation avec ce sujet : Le rendu par défaut des éléments HTML Bonne continuation.
  12. TheRec

    IE J'adorre

    Sinon il y a la barre d'outils développeurs de Internet Explorer, par Microsoft : Internet Explorer Developer Toolbar Équivalent, bien moins facile d'utilisation et efficace que l'extension Web Developer de Firefox, mais bien utile quand même.
  13. xdeslandes> Tu peux voir les tarifs en allant dans "Mes contrôles" puis dans le menu de gauche il y a une rubrique "Options" ou il y a un lien vers "Infogérance et publicité".
  14. Très bonne interview, très instructive. Merci à tous les participants
  15. Il faut utiliser une clause LIMIT dans ta requête SQL avec les deux paramètres rowcount et offset, voici un exemple : SELECT * FROM ta_table ORDER BY ta_date DESC LIMIT 0, 9 Le premier paramètre de LIMIT, offset, définit défini le premier élément de la requête non limité et le deuxième, rowcount, le nombre d'élément maximum qui seront retournés. Donc pour tes "pages" rowcount sera égal à la limité fixée par l'utilisateur ("afficher 10 - 20 - 50"), et offset variera suivant la page en cours (variable GET dans ton URL). Tu auras également besoin du nombre d'éléments totaux pour connaître ne nombre de pages, tu pourras utiliser la fonction MySQL "FOUND_ROWS" qui permet d'obtenir ce nombre sans refaire la requête, seul pré-requis, ajouter "SQL_CALC_FOUND_ROWS" à ta requête SELECT (je reprends l'exemple ci-dessus) : SELECT SQL_CALC_FOUND_ROWS * FROM ta_table ORDER BY ta_date DESC LIMIT 0, 9 Et juste après cette requête tu exécutes : $totalrowcount = mysql_result(mysql_query('SELECT FOUND_ROWS()'),0,0); Je te laisse faire le reste toi-même Bonne continuation.
  16. Le sujet est clos, après discussion de l'équipe de modération il n'y a aucune question ou sollicitation pour une aide quelconque. Si la discussion s'oriente vers un mur de lamentations elle n'est pas utile à la communauté. Merci de votre compréhension. P.S. : S'il y a lieu d'ouvrir à nouveau ce sujet (pour les raisons évoquées précédemment par exemple), merci de me contacter par MP. EDIT: Le sujet est rouvert sur demande de TrocWeb qui souhaite savoir quelles démarches il doit entreprendre pour se défendre contre le plagiaire supposé.
  17. De rien, bon week-end et bonne continuation pour la nouvelle version de ton site !
  18. La redirection dans le fichier PHP suffira, plus besoin du RedirectPermanent, comme cela toute demande vers l'ancienne URL sera redirigée (par la fonction header) vers la nouvelle URL et à ce moment la réécriture se fera (au niveau de ton .htaccess). À priori la cible de ta réécriture ne sera plus categories.php, vu que ce script sera utilisé pour effectuer la redirection (header) mentionnée précédemment.
  19. La première solution ne changera pas les URL de ton référencement, les moteurs suivront la redirection 301 (R=301) et indexeront à nouveau l'ancienne URL. La deuxième solution est la bonne, si tu as une seule catégorie c'est la plus facile. Si tu as beaucoup de catégories, la RewirteRule changera (ajout d'un sous-masques permettant de traiter plus d'une catégorie avec la même règle) et si tu souhaites ne plus avoir du tout d'ID (id_categorie) dans l'URL il faudra passer par un minimum de code PHP pour effectuer l'équivalence "nom de catégorie" -> "id_catégorie" (ou alors tu entre une RewriteRule pour chaque catégorie, mais cela devient rapidement ingérable). Idem pour la deuxième règle, la redirection des anciennes pages vers le nouveau schéma d'URL (réécrites), il est assez simple de remplacer le contenu du script categories.php en conservant ce fichier les anciennes URL fonctionneront encore et y faire une redirection HTTP 301 avec la fonction header vers l'URL de la nouvelle catégorie (en fonction id_categorie bien entendu).
  20. <marquee> n'est également pas accessible car elle ne correspond à pas aux recommandations du WCAG (document du W3C en anglais). Le texte ne pouvant pas être arrêté il peut s'avérer illisible voir dangereux (crise d'épilepsie causée par le "clignotement"... oui je sais c'est un cas extrême, mais c'est celui cité dans les recommandations) pour certaines personnes. En utilisant du Javascript tu peux facilement permettre l'arrêt du texte, voir même simplement le transformer en texte statique. Un exemple, le script DOMNews Bonne continuation !
  21. TheRec

    retour en arrière

    Salut, Je rejoins l'avis de captain_torche, et je te précise juste que $_SERVER['HTTP_REFERER'] n'est renseigné que si le navigateur utilisé le prévoit et que cette fonctionnalité est activée (certains la désactive pour protéger leur vie privée). Donc il est difficile de se fier à la valeur de cette variable.
  22. Effectivement, concept très intéressant Bravo pour l'article, c'est merité !
  23. Très bonne interview, plaisante à lire en tous cas Merci aux participants, à l'arrière et avant scène J'ai été étonné que dans les évolutions dans domaine du E-Commerce de ces derniers mois, bshop ne cite pas Magento, il est clair qu'il ne s'agit pas de versions finales (malgré la qualité des versions bêta), mais cette solution se profile comme la solution alternative open-source gratuite aux osCommerce (et divers variantes).
  24. Plus d'informations ici : http://travaux.ovh.com/?do=details&id=...d5fa04c0e97248f
  25. Bonjour, Suivant l'implémentation que tu veux en faire, tu pourrais utiliser url2jpeg. Seul le problème étant que ce programme fonctionne sous Windows seulement, donc si ton but est de l'exécuter depuis un script PHP par exemple il faut que ton serveur fonctionne sous Windows (ce qui n'est pas non plus la panacée). Malheureusement je ne connais pas d'équivalent sous Linux, si quelqu'un en connais un, ça m'intéresse également
×
×
  • Créer...