CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[PHP] cherche Regex + réordonner entrées

Zorro56
Zorro56
Niveau 10
29 juin 2005 à 16:01:23

Bonjour à tous !

Je cherche une regex ( que j´ai essayée de faire ) qui remplace les < img src="image.gif" alt=""> par [img]image.gif[/img].

Sinon , comment fait t-on pour créer une page ou l´on peut réordonner ses entrées dans la table ( comme dans re-order forums de IPB ) ? ??

Encore merci ; )

XDav
XDav
Niveau 10
29 juin 2005 à 17:19:00

Pour l´expression régulière :d)
$message = preg_replace(´!\[img\](.+)\[/img\]!isU´, ´<img src="$1" border="0" alt="Img Posteur"></img>´, $message);

Si la variable $message contient [img]url_de_l´img[/img], elle sera remplacée par < img src="url_de_l´img" border="0" alt="Img Posteur">

J´ai pas trop compris la secondes question :honte:

Zorro56
Zorro56
Niveau 10
29 juin 2005 à 17:29:09

Justement je veux faire l´inverse :) .

Pour la 2e question :
Je m´explique , sur IPB 1.3 , dans le PC admin , on peut réorganiser l´ordre des forums comme le montre la capture d´écran ci dessous :
http://img122.echo.cx/my.php?image=reorder9ap.jpg

J´aimerais faire pareil avec mon système d´articles , simplement je ne vois pas comment faire ( j´ai réfléchi à ça toute la soirée . .. ) .

XDav
XDav
Niveau 10
29 juin 2005 à 17:51:32

Dsl pour la regex :honte:

Tu pourra surement trouver de l´aide sur :d) http://www.expreg.com/

Si j´ai bien compris, tu veut avoir un système qui permette d´organiser l´ordre de tes articles?
Par exemple, monter un lien qui mène vers un article, ou le descendre, sans changer la position des autres :question:

Zorro56
Zorro56
Niveau 10
29 juin 2005 à 18:09:05

Oui voila , ou tout simplement pouvoir changer leur id a tous d´un coup !

Pour la regex , je suis déja passé par la :)

XDav
XDav
Niveau 10
29 juin 2005 à 18:23:23

Je sais pas si ça peut t´aider, mais j´ai fait un système qui permet de faire cela :)
Tu pourra surement en trouver des meilleurs :oui:

En fait, mes pages ont un champ de plus nommé " pos".
Quand j´ajoute une page, je regarde quel est la valeur maxi du champ " pos" et je rajoute 1 à cette valeur.
Elle sera pour la nouvelle page :)

Avec ce système le champ pos est du style:
1, 2, 3, 4, 5, 6...

Quand je veut supprimer une page je récupère sa valeur au champ " pos", puis modifie le reste pour avoir un suite.
Par exemple avec la page qui a la position 3, les chiffres 4, 5, 6 devient 3, 4, 5.
Une fois l´article supprimer, j´ai bien une suite 1, 2, 3, 4, 5,... ect

Pour changer la position, il faut cliquer sur un lien ( monter ou descendre).
La requête va permettre de changer la valeur de " pos" des deux liens en question :)

Pour afficher selon l´ordre voulu, j´ai fait un ORDER BY pos :)

C´est loin d´être la meilleure solution mais si ça peut t´aider :)

captain_torche
captain_torche
Niveau 10
29 juin 2005 à 18:29:28

XDav -> Je ne vois pas d´autre solution, ça me semble donc la meilleure :)
Ensuite, faut voir si tu as fait du beau code, mais c´est autre chose :)

Zorro56
Zorro56
Niveau 10
29 juin 2005 à 18:38:41

Hum , ça m´intéresse , vasy file le code :-)))

XDav
XDav
Niveau 10
29 juin 2005 à 18:54:04

Le code est dispo sur :d) http://xdav.net/jv.code

Dès que j´ai le temp, je le commenterai :)
Comme tu vas le voir, il est en relation avec les menus.
Il faudra donc l´adapter à ton application que tu souhaite.

Le code qui t´intéresse commence à la ligne 20 :) ( sans compter la fonction F5())

Il existe bien une autre solution, mais le concept etait assez complexe...
Par contre l´avantage qu´il avait, c´est qu´il n´y avait pas besoin de changer toutes la valeur du champ " pos". ( D´ailleur il n´y avait pas besoin de champs supplémentaire)
Cette requête sera lente dès qu´il y aura beaucoup de pages...
Dommage :(

Zorro56
Zorro56
Niveau 10
29 juin 2005 à 20:02:15

Ouaih meric bah j´vais essayer de l´adapter à mon code que voici :

< ? $titrepage = " Administration des dossiers/articles"; ? >
< ? include ( "../header.php"); ? >
< ? include ( "../menu.php"); ? >
< ? require_once ( "../conf.php"); / / Inclusion du fichier de fonctions IPB SDK
/ / Nous sommes connecté, retrouvons les infos du membre
$info = get_info();

/ / Génération du contenu de la barre
$member_name = $info[´name´];

if ( is_admin()) {

? ><center>
< font face=arial size=4>
< b> Gérer les dossiers/articles < /b></font>
< br>
< br>
< b> > > Actions</b><br><br>
< a href="ajoutB.php">Ajouter un dossier/article < /a><br><br>
< font face=arial size=2><b> > > Liste des dossiers/articles présents :</b></font><br><br>
< table border=1 cellpadding="2">
< ?

mysql_connect("$host", " $login", " $pass");
mysql_select_db("$login");

if ( isset($_POST[´type´]) AND isset($_POST[´titre´]) AND isset($_POST[´auteur´]) AND isset($_POST[´contenu´]))
{

if ( $_POST[´id_dossier´] == 0)
{

/ / TRAITEMENT DU TEXTE
$contenu = htmlentities($contenu); / / pas de html ! !!!

$contenu = nl2br($contenu); / /
$contenu = preg_replace(´!\[b\](.+)\[/b\]!isU´, ´<b>$1</b>´, $contenu);
$contenu = preg_replace(´!\[u\](.+)\[/u\]!isU´, ´$1´, $contenu);
$contenu = preg_replace(´!\[i\](.+)\[/i\]!isU´, ´<i>$1</i>´, $contenu);
$contenu = preg_replace(´!\[spoiler\](.+)\[/spoiler\]!isU´, ´<span style="color:red">SPOILER [</span><span style="color:#C4C4C4">$1</span><span style="color:red">]</span>´, $contenu);
$contenu = preg_replace(´!\[img\](.*)\[\/img\]!isU´,´<img src="$1" alt="">´,$contenu);

/ / Ce n´est pas une modification, on crée une nouvelle entrée dans la table
mysql_query("INSERT INTO dossiers VALUES(´´, ´" . $type . " ´, ´" . $titre . " ´, ´" . $auteur . " ´, ´" . $contenu . " ´)") or die(mysql_error());

echo ´<meta http-equiv="REFRESH"
content="1;URL=´.$site.´/dossiers/redirection.php"

´;

}

else
{
/ / C´est une modification, on met juste à jour tout les champs

/ / TRAITEMENT DU TEXTE
$contenu = htmlentities($contenu); / / pas de html ! !!!

$contenu = nl2br($contenu); / /
$contenu = preg_replace(´!\[b\](.+)\[/b\]!isU´, ´<b>$1</b>´, $contenu);
$contenu = preg_replace(´!\[u\](.+)\[/u\]!isU´, ´$1´, $contenu);
$contenu = preg_replace(´!\[i\](.+)\[/i\]!isU´, ´<i>$1</i>´, $contenu);
$contenu = preg_replace(´!\[spoiler\](.+)\[/spoiler\]!isU´, ´<span style="color:red">SPOILER [</span><span style="color:#C4C4C4">$1</span><span style="color:red">]</span>´, $contenu);
$contenu = preg_replace(´!\[img\](.*)\[\/img\]!isU´,´<img src="$1" alt="">´,$contenu);

mysql_query("UPDATE dossiers SET type=´" . $type . " ´ , titre=´" . $titre . " ´ , auteur=´" . $auteur. " ´, contenu=´" . $contenu. " ´ WHERE id=" . $_POST[´id_dossier´]);

echo ´<meta http-equiv="REFRESH"
content="1;URL=´.$site.´/dossiers/redirection.php"

´;

}

}

if ( isset($_GET[´supprimer_dossier´])) / / Mais si on veut supprimer un dossier
{
/ / Et ben on supprime le dossier indésirable
mysql_query(´DELETE FROM dossiers WHERE id=´. $_GET[´supprimer_dossier´]);
}

$retour = mysql_query(´SELECT * FROM dossiers ORDER BY id DESC´);
while ( $donnees = mysql_fetch_array($retour)) / / Une petite boucle qui affiche tous les dossiers
{
? >
< tr><td>
< font face="arial" size=2><b><? echo $donnees[´titre´] ? ></b> < /td><td> -
< a href="ajoutB.php?modifier_dossier=<? echo $donnees[´id´] ? >" title="Modifier ce dossier/article">Modifier</a> -

< a href="liste.php?supprimer_dossier=<? echo $donnees[´id´] ? >" title="Supprimer ce dossier/article">Supprimer</a></font><br> < /td></tr><?
} / / Fin de la boucle !
? ></table>

< ?
}
else {
echo " <center><font face=verdana size=2>Vous n´êtes pas autorisé à afficher cette page ! </font></center>";
}
? ></center>
< ?
include ( "../footer.php");
? >

XDav
XDav
Niveau 10
29 juin 2005 à 20:08:56

Zorro56
Posté le 29 juin 2005 à 20:02:15
Ouaih meric bah j´vais essayer de l´adapter à mon code que voici:

De rien :)

Essaye de l´adapter sans com, au pire, j´essayerai de simplifer le code en enlevant les menus et en rajoutant les com si j´ai le temps :)

Zorro56
Zorro56
Niveau 10
29 juin 2005 à 20:24:20

Oula c´est chaud :p enfin bon j´continue !

Zorro56
Zorro56
Niveau 10
29 juin 2005 à 21:13:09

Ah , autre chose , j´ai mis des quizz sur mon site , dès qu´un membre l´a fini , ça lui affiche sa note et ça l´enregistre dans une table quizz .

Je me retrouve donc avec ce genre d´entrées :
Zorro56 13
Webhead 12
acid snake 3
Zorro56 15
Zorro56 15

Et j´aimerais faire un top 10 des meilleurs quizzeurs ! Pour cela j´ai l´idée ( additioner tous les champs note ou le pseudo est le même ) pour obtenir par exemple :
Zorro56 43
Webhead 12
acid snake 3

Simplement je ne vois pas quelle requête utiliser !

Encore merci :-)))

XDav
XDav
Niveau 10
29 juin 2005 à 22:39:26

Tu peut utiliser une requête du style :d)

mysql_query("SELECT * FROM ta_table ORDER BY ton_champ_qui_contient_les_notes_additionnées DESC LIMIT 0,10");

captain_torche
captain_torche
Niveau 10
29 juin 2005 à 22:48:37

non, en fait il veut additionner le résultats dans la requête.
Quelque chose du genre :
SELECT Nom, SUM(note) AS score FROM table GROUP BY Nom
?

Zorro56
Zorro56
Niveau 10
30 juin 2005 à 08:15:49

Oui , c´est plutot ça !
Ma table score à un id ( normal ) , un champ pseudo et un champ score !
J´ai donc mis ça :
mysql_query("SELECT pseudo SUM(score) AS total FROM quizz GROUP BY pseudo") or die(mysql_error());

Et l´erreur me retourne :
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ´SUM(score) AS total FROM quizz GROUP BY pseudo´ at line 1

Je continue de plancher sur ce problème ; )

Zorro56
Zorro56
Niveau 10
30 juin 2005 à 19:57:19

Arf , je ne trouve toujours pas :´(

captain_torche
captain_torche
Niveau 10
30 juin 2005 à 20:15:13

Mets une virgule après SELECT pseudo.

Zorro56
Zorro56
Niveau 10
01 juillet 2005 à 12:33:06

Merci ça marche sauf qu´il me met le plus nul tout en haut et le plus bon tout en bas . Moi je veux que ce soi l´inverse ( logique ) donc je mets un DESC à la fin mais la : erreur dde syntaxe Mysql !

$reponse = mysql_query("SELECT pseudo, SUM(score) AS total FROM quizz GROUP BY pseudo ORDER BY total LIMIT 0,6") or die(mysql_error());

captain_torche
captain_torche
Niveau 10
01 juillet 2005 à 16:21:47

Mets le DESC juste après le ORDER BY total, et non pas à la fin de la requête.

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Programmation
  • Création de sites web
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment