[PHP] La fonction toute bête qui vous simplifie le plus la vie ?

La fonction toute bête qui vous simplifie le plus la vie ? [PHP] - Programmation

Marsh Posté le 18-03-2002 à 19:42:41    

La règle d'or quand on code c'est de ne pas réinventer la roue, mais parfois on fait des essieus assez simple mais bigrement utiles. C'est quoi les votres ?
 
Je démarre avec une fonction toute bête pour gérer les liens d'un site :
 
J'utilise des fichiers pour mes pages comme ça : nomdelapage-n°desection.php
 
je mets les noms de page dans un tableau et j'inclue les pages par un appel à la cle, ç donne index.php?p=0 etc..
 
du coup quand on ajoute une page dans le tableau ça peut décaler les liens internes alors je fais une bête fonction pour créer ces liens :
 
// Tableau contenant la liste des pages
$Pages = array(0=>"Accueil","Nouveautes","Forum" );
 
// Vérification de l'existence du fichier
if (!isset($s)||!file_exists("pages/".$Pages[$p]."-$s.php" )) $s=0;
if (!isset($p)||!file_exists("pages/".$Pages[$p]."-$s.php" )) $p=0;
 
Function DynaLink ($PageLink) {  
  global $Pages;
  reset ($Pages);
  while ( list($Val,$NomPage)= each($Pages) ) {
    if ($NomPage == $PageLink) return "?p=".$Val;
  }
}
 
// inclusion de la page
include ("pages/$p-$s.php" );
 
et pour  faire le lien un simple <a href="<?echo DynaLink("Forum" ); ?>">
 
fini les emmerdes à modifier des liens !

 

[jfdsdjhfuetppo]--Message édité par Sh@rdar--[/jfdsdjhfuetppo]


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 18-03-2002 à 19:42:41   

Reply

Marsh Posté le 18-03-2002 à 19:56:03    

function connect($host,$user,$pass,$db)  
{  
if(@mysql_connect($host,$user,$pass))  
{  
 if(@mysql_select_db($db))
 {
return true;  
}
else
echo"<p align=\"center\"><span class=\"error\">Connection à la base de donnée impossible !!<p></span>";
return false;
}  
else  
{  
echo "<p align=\"center\"><span class=\"error\">Connection au site impossible<p></span>";  
return false;
}  
}
 
 
j'utilise cette fonction pour me connecter que je met en condition d'un if et dedans je met mon code comme ça pas de prob avec plein de mysql pourri dedans

Reply

Marsh Posté le 18-03-2002 à 19:58:56    

celle là c'est un classique je pense ;)


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 18-03-2002 à 20:23:10    

T as meme pas fait une ptite classe de connection ?!! comme c est pas propre :D:D:D  
 

Je@nb a écrit a écrit :

function connect($host,$user,$pass,$db)  
{  
if(@mysql_connect($host,$user,$pass))  
{  
 if(@mysql_select_db($db))
 {
return true;  
}
else
echo"<p align=\"center\"><span class=\"error\">Connection à la base de donnée impossible !!<p></span>";
return false;
}  
else  
{  
echo "<p align=\"center\"><span class=\"error\">Connection au site impossible<p></span>";  
return false;
}  
}
 
 
j'utilise cette fonction pour me connecter que je met en condition d'un if et dedans je met mon code comme ça pas de prob avec plein de mysql pourri dedans  



Reply

Marsh Posté le 18-03-2002 à 20:28:28    

Tu utilises koi toi ?

Reply

Marsh Posté le 18-03-2002 à 22:43:28    

Je@nb a écrit a écrit :

Tu utilises koi toi ?  




 
il serait peut-être déjà plus pratique que tu affiches l'erreur avec mysql_error ... de toute façon ton login/pass n'y apparaitra pas :)

Reply

Marsh Posté le 19-03-2002 à 10:26:28    

c ptet du 100% classique aussi... Creer un menu deroulant à partir d'une table :
 
<select name="site" size="1"><br>
  <?
  while($num=mysql_fetch_array($resu)){
   ?>
   <option value="<? echo $num["site"]?>">
   <? echo $num["site"];
   }
  ?>
</select>


---------------
All we need is a soul revolution
Reply

Marsh Posté le 19-03-2002 à 16:23:00    

Idée génial ce topic... Je débute en php et des trucs tout con, des petites méthodes de pensée et de travail comme ça m'aide bcp :) merci :)


---------------
[:idee] Tu t'ennuies ? www.pagepardefaut.com : jeux online, anims flash et sites insolites...
Reply

Marsh Posté le 19-03-2002 à 17:47:49    

j ai fait une petite fonction pour mettre en page un texte dans une saisie formulaire avec les tags personalisé ([B][/B] pour du gras)...
 
Et en parametre cela passe le tableau a deux dimensions avec le nom des champs et leur valeurs...
 
Si vous la voulez je peux la mettre

Reply

Marsh Posté le 19-03-2002 à 18:34:06    

Oreste a écrit a écrit :

j ai fait une petite fonction pour mettre en page un texte dans une saisie formulaire avec les tags personalisé ([B][/B] pour du gras)...
 
Et en parametre cela passe le tableau a deux dimensions avec le nom des champs et leur valeurs...
 
Si vous la voulez je peux la mettre  




 
ah bah oui ca m interesse :)


---------------
[:idee] Tu t'ennuies ? www.pagepardefaut.com : jeux online, anims flash et sites insolites...
Reply

Marsh Posté le 19-03-2002 à 18:34:06   

Reply

Marsh Posté le 19-03-2002 à 20:50:03    

récursivité (pour générer des arborescences par exemple) exemple avec MySQL:
 

Citation :


function plan ($id_rubrique) {
   $result=mysql_query("select ID_RUBRIQUE,LIBELLE from RUBRIQUE where ID_MERE = ".$id_rubrique." order by POSITION" );
   while ($data=mysql_fetch_array($result)) {
        print "\n<UL><LI> <A HREF='?rubrique=".stripslashes($data[0])."'>".$data[1]."</A>";
        $id_rubrique = plan($data[0]);
   }
print "</UL>";
   return $msg;
}
 

 

[jfdsdjhfuetppo]--Message édité par THE REAL SMILEY--[/jfdsdjhfuetppo]


---------------
༼ つ ◕_◕ ༽つ
Reply

Marsh Posté le 19-03-2002 à 21:07:57    

ceam a écrit a écrit :

encore une et j'arrête  :D
 
convertir des liens dans du texte
<?  
$data = "texte avec des liens, par exemple http://www.monsite.com et test@test.com";  
 
$lines = explode("\n", $data);  
 
while (list ($key, $line) = each ($lines)) {  
$line = eregi_replace("([ \t]|^)www\.", " http://www.", $line);  
$line = eregi_replace("([ \t]|^)ftp\.", " ftp://ftp.", $line);  
$line = eregi_replace("(http://[^ )\r\n]+)", "<a href=\"\\1\" target=\"_blank\">\\1</a>", $line);  
$line = eregi_replace("(https://[^ )\r\n]+)", "<a href=\"\\1\" target=\"_blank\">\\1</a>", $line);  
$line = eregi_replace("(ftp://[^ )\r\n]+)", "<a href=\"\\1\" target=\"_blank\">\\1</a>", $line);  
$line = eregi_replace("([-a-z0-9_]+(\.[_a-z0-9-]+)*@([a-z0-9-]+(\.[a-z0-9-]+)+))", "<a href=\"mailto:\\1\">\\1</a>", $line);  
 
if (empty($newText)) {  
$newText = $line;  
} else {  
$newText .= "\n$line";  
}  
 
}  
 
echo "$newText";  
?>  




celle là elle est trop bonne, Thx  :jap:


---------------
༼ つ ◕_◕ ༽つ
Reply

Marsh Posté le 19-03-2002 à 21:07:58    

conversion d'ip pour stockage dans db:
 

Code :
  1. function ip2db($ip)
  2. {
  3. list($p1,$p2,$p3,$p4)=explode(".",$ip);
  4. return ($p1*16777216)+($p2*65536)+($p3*256)+$p4;
  5. }

Reply

Marsh Posté le 19-03-2002 à 21:12:32    

date au format français:
 
$Jour = array("Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi" );  
$Mois = array("","Janvier","Février","Mars", "Avril","Mai","Juin","Juillet","Août", "Septembre","Octobre","Novembre","Décembre" );  
$date_format_fr = $Jour[date("w" )]." ".date("d" )." ".$Mois[date("n" )]." ".date("Y" );

 

[jfdsdjhfuetppo]--Message édité par THE REAL SMILEY--[/jfdsdjhfuetppo]


---------------
༼ つ ◕_◕ ༽つ
Reply

Marsh Posté le 19-03-2002 à 21:23:31    

ceam a écrit a écrit :

faire un affichage alternatif dans une liste
<?  
code
?>  




 
 :??: ca veut dire quoi ?


---------------
[:idee] Tu t'ennuies ? www.pagepardefaut.com : jeux online, anims flash et sites insolites...
Reply

Marsh Posté le 19-03-2002 à 21:25:20    

thekeke2 a écrit a écrit :

 
 
 :??: ca veut dire quoi ?  




pour simplifier, une ligne sur deux avec telle ou telle couleur


---------------
༼ つ ◕_◕ ༽つ
Reply

Marsh Posté le 19-03-2002 à 21:25:56    

ceam a écrit a écrit :

bon la dernière, très pratique
 
mais je colle pas c trop long
 
générer un sélecteur de date
http://sdion.net/index.php?rub=code&id=69
 
3 cas
date fixe = DateSelector('list','2003-01-07','';);  
date du jour = DateSelector('list','','on';);  
date à choisir = DateSelector('list','','';);  
 
manque juste la récup des valeurs
$list = $list_A."-".$list_M."-".$list_J;  



je ne vois pas à quoi ca sert ... c'est quoi ?


---------------
༼ つ ◕_◕ ༽つ
Reply

Marsh Posté le 19-03-2002 à 21:29:07    

ceam a écrit a écrit :

faire un affichage alternatif dans une liste
<?  
for ($i=0;$i<$comptMem;$i++) {
 if (!($i%2)) {
  $class = "listOdd";
 } else {
  $class = "listEven";
 }
echo "<tr><td class=\"$class\">texte</td></tr>";
}
?>  




 
peux mieux faire!, la preuve:
 

Code :
  1. <?
  2. $class = "listOdd";
  3. $class2 = "listEven";
  4. for ($i=0;$i<$comptMem;$i++) {
  5. echo "<tr><td class=\"$class\">texte</td></tr>";
  6. $class3 = $class;
  7. $class = $class2;
  8. $class2 = $class3;
  9. }
  10. ?>


 
Nettement mieux sur tous les points de vue.

 

[jfdsdjhfuetppo]--Message édité par gizmo--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 19-03-2002 à 21:30:55    

gizmo a écrit a écrit :

 
 
peux mieux faire!, la preuve:
 

Code :
  1. <?
  2. $class = "listOdd";
  3. $class2 = "listEven";
  4. for ($i=0;$i<$comptMem;$i++) {
  5. echo "<tr><td class=\"$class\">texte</td></tr>";
  6. $class3 = $class;
  7. $class = $class2;
  8. $class2 = $class;
  9. }
  10. ?>


 
Nettement mieux sur tous les points de vue.  




et ton $class3, t'en fais quoi ?  :??:


---------------
༼ つ ◕_◕ ༽つ
Reply

Marsh Posté le 19-03-2002 à 21:33:23    

c'est une variable pour le swap, c'est nettement préférable en terme d'espace mémoire et de gestion de pipeline qu'un if qui change à chaque tour de boucle et un calcul de modulo.

Reply

Marsh Posté le 19-03-2002 à 21:34:31    

même pas, il suffit toujours d'une seule et unique variable de swap, et tu gagnes vraiment.

Reply

Marsh Posté le 19-03-2002 à 21:43:01    

oui, pourquoi?

Reply

Marsh Posté le 19-03-2002 à 21:44:02    

ok, j'ai vu, faute de frappe en recopiant, je corrige.

Reply

Marsh Posté le 19-03-2002 à 21:46:31    

gizmo a écrit a écrit :

ok, j'ai vu, faute de frappe en recopiant, je corrige.  



ahh c'est tout de suite plus logique, ton $class3 sert maintenant  :jap:


---------------
༼ つ ◕_◕ ༽つ
Reply

Marsh Posté le 20-03-2002 à 08:17:24    

ah bah ce topic la direct dans mes favoris  ;)  
 
UP !

Reply

Marsh Posté le 20-03-2002 à 08:18:37    

kayasax a écrit a écrit :

ah bah ce topic la direct dans mes favoris  ;)  
 
UP !  



tout à fait d'accord, il mérite de vivre ce topic  :jap:


---------------
༼ つ ◕_◕ ༽つ
Reply

Marsh Posté le 20-03-2002 à 08:22:46    

en parlant de ca, personne n'aurait developper une appli pour se creer en local une petite base avec ses sujets favoris de ce forum ? ca pourait etre sympa nan ?

Reply

Marsh Posté le 20-03-2002 à 10:01:14    

kayasax a écrit a écrit :

en parlant de ca, personne n'aurait developper une appli pour se creer en local une petite base avec ses sujets favoris de ce forum ? ca pourait etre sympa nan ?  




 
ouais moi je pense sérieusement a me faire un petit truc pour garder les scripts et autres codes utiles en php, javascript ou autres... mais ce serait online...


---------------
[:idee] Tu t'ennuies ? www.pagepardefaut.com : jeux online, anims flash et sites insolites...
Reply

Marsh Posté le 20-03-2002 à 10:03:28    

Oreste a écrit a écrit :

j ai fait une petite fonction pour mettre en page un texte dans une saisie formulaire avec les tags personalisé ([B][/B] pour du gras)...
 
Et en parametre cela passe le tableau a deux dimensions avec le nom des champs et leur valeurs...
 
Si vous la voulez je peux la mettre  




 
 :cry: celui là il m'interessait TROP !!!  :cry:


---------------
[:idee] Tu t'ennuies ? www.pagepardefaut.com : jeux online, anims flash et sites insolites...
Reply

Marsh Posté le 20-03-2002 à 10:14:27    

thekeke2 a écrit a écrit :

 
 
ouais moi je pense sérieusement a me faire un petit truc pour garder les scripts et autres codes utiles en php, javascript ou autres... mais ce serait online...  




moi j'aurai plutot vu un truc qui aspirerait les topics dont on fournis l'url -> insertion dans table sql, que l'on puisse ne garder que les reponses interessantes :sarcastic: pouvoir regroupe par themes et fonction de recherche....

Reply

Marsh Posté le 20-03-2002 à 10:19:34    

kayasax a écrit a écrit :

 
moi j'aurai plutot vu un truc qui aspirerait les topics dont on fournis l'url -> insertion dans table sql, que l'on puisse ne garder que les reponses interessantes :sarcastic: pouvoir regroupe par themes et fonction de recherche....  




 
le système d'analyse de page est pas trop compliqué à faire et il est trouvable tout fait (c'était le thème d'un concours php mais je sais plus où)
 
par contre faudrait pouvoir "noter" les posts intèressants de manière à ne pas garder les discussions et les trucs sans intèrêt.


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 20-03-2002 à 10:21:07    

Sh@rdar si tu retrouve l'adresse ca m'interesse !

Reply

Marsh Posté le 20-03-2002 à 10:27:19    

http://www.phpinfo.net/?p=defis
 
regarde dans les archives.
les défis en cours à l'air sympa, mais pas le temps :cry:


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 20-03-2002 à 10:38:25    

Sh@rdar a écrit a écrit :

http://www.phpinfo.net/?p=defis
 
regarde dans les archives.
les défis en cours à l'air sympa, mais pas le temps :cry:  




marche pas les archives.

Reply

Marsh Posté le 20-03-2002 à 10:42:04    

j'en vien à l'instant..
 
http://www.phpinfo.net/?p=defis&rub=archives&id_defi=3


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 20-03-2002 à 10:44:02    

moi une function de mise en forme
 
function vide($width,$height)
{
return "<img src='/img/vide.gif' width='".$width."' height='".$height."' border=0>";
}
 
vide.gif etant un pixel transparent de 1 pixel

 

[jfdsdjhfuetppo]--Message édité par speedyop--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 20-03-2002 à 10:57:11    

Sh@rdar a écrit a écrit :

j'en vien à l'instant..
 
http://www.phpinfo.net/?p=defis&rub=archives&id_defi=3  




Ouais, mais les sources et démos sont invalides.

Reply

Marsh Posté le 20-03-2002 à 12:25:13    

speedyop a écrit a écrit :

moi une function de mise en forme
 
function vide($width,$height)
{
return "<img src='/img/vide.gif' width='' height='' border=0>";
}
 
vide.gif etant un pixel transparent de 1 pixel  




 
plutot
 
function vide($width,$height)
{
return "<img src=\"img/vide.gif\" width=\"$width\" height=\"$height\" border=\"0\">";
}

Reply

Marsh Posté le 20-03-2002 à 12:52:53    

skylight a écrit a écrit :

 
 
plutot
 
function vide($width,$height)
{
return "<img src=\"img/vide.gif\" width=\"$width\" height=\"$height\" border=\"0\">";
}  




 
 :D  :sarcastic:

Reply

Marsh Posté le 20-03-2002 à 13:06:37    

[:veryfree]

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed