Général
- Présentation
- Les Symboles
- Les Métacaractères
- Les Ancres et Classes
- Les options
- Constantes prédéfinies
- Equivalences
- Créer un motif
- Les POSIX
- Les PCRE
- Les Plus des PCRE
- Les Assertions Part I
- Les Assertions Part II
- Motif conditionnel
- Mysql et les regex
- Url Rewriting
- Optimisation
- Aide mémoire
Les PCRE
Les POSIX
Pratique
Spécial php
- Conseils et Astuces
- Délimiteur PCRE
- Créer une bdd
- Utiliser du BBcode
- Le binaire
- Faire un panier
- Cases à cocher
- Citations imbriquées
- Colorateur syntaxique
- Les list-box ou combo-box
- Faire un diaporama
- Isset ou empty ?
- Une légende au survol
- Site en plusieurs langues
- Requêtes dynamiques
- Gestion des smiley
- Faire un moteur de template
- Timestamp php/mysql
- Timestamp mysql
- Matcher une adresse email
- Controler des données
Les billets de fred
- Les POSIX... mise en pratique !
- Limiter l'accès à un répertoire
- Alternance de couleurs
- Magic_quotes
- Désactiver les short_tags
- Require ou include : Bench
- Cohérence dans les chaines de caractères
- "echo" : lapin ou tortue ?
- Gérer un formulaire avec plusieurs boutons
- Le formulaire a t'il été soumis ?
- J'ai décidé de grossir
- La guerre des étoiles
- La guerre des boutons
- Headers already sent
- IP, IP, IP, houra !
- Créer un itérateur avec PHP5
- On vous conduit vers la lumière
- Comment utiliser MySQL avec PHP
- Non aux booléens !
- Php.ini : dist /recommended
- Include : gouffre ou fêlure ?
- Simple comme les sessions !
- Simplifier le traitement des erreurs
- Structurez vos applications
- Franchement, t'es trop for !
- Notice: Undefined variable (ou index)
- Proscrire les variables auto déclarées
Cette regex permet d'effectuer une recherche dans une base de données en appliquant un masque à la sélection. Dans cet exemple préçis, on souhaite exploiter des codes postaux.(4 ou 5 chiffres)
$zip="6"; // ou $zip="45";
$req=mysql_query("select dep from table where dep REGEXP '(^($zip)([0-9]{3}))$'");
while ($data=mysql_fetch_assoc($req)
{
echo $data['dep'],'<br />';
}
?>
Voici une portion de code à utliser si vous souhaitez vérifier qu'une valeur existe ou non dans la table. On utilise tout simplement la fonction count(*) de mysql Il y a d'autres méthodes bien évidement, mais celle-ci à l'avantage d'être la extrêment rapide.
$req="select count(*) from latable where lechamp='".$la_variable_a_tester."'";
$res=mysql_query($req);
if(mysql_result($res,0)==0)
{
// on fait ce qu'il faut
}
else
{
// la valeur existe déjà, on fait autre chose
}
?>
Voici une portion de code pour exporter votre table vers un fichier excel. L'exportation se fait au format CSV (Coma Separator Value)
// les paramètres de connexion
$lienBase=mysql_connect($serveur,$user,$password);
if ($lienBase <=0) die ("Erreur de connexion avec le login et password");
mysql_select_db($bdd,$lienBase) or die( "Connexion impossible à la base de données");
// Selection de la table
$tb1='latable';
$res = mysql_query("SELECT * FROM $tb1");
if(mysql_num_rows($res) == 0) echo 'La table sélectionnée est vide';
else
{
// Injection des entêtes
header("Content-Type: application/csv-tab-delimited-table");
header("Content-disposition: filename=table.csv");
// affichage du nom des colonnes
for($i = 0; $i < mysql_num_fields($res); $i++)
{
$champ[$i] = mysql_field_name($res, $i);
}
echo '"',implode("\";\"",$champ),"\"\n";
// affichage des données de la table
while($data = mysql_fetch_assoc($res))
echo '"',implode("\";\"",$data),"\"\n";
}
?>
Une simple liste aphabétique comme un répertoire téléphonique et une requête.
foreach(range('A','Z') as $val)
{
echo '<a href="mapage.php?lettre='.$val.'">'.$val.'</a> - ';
}
//--------------
if(isset($_GET['lettre']) && ctype_alpha($_GET['lettre']))
{
$req="SELECT noms FROM latable WHERE LEFT(noms,1)='".$_GET['lettre']."'";
$res=mysql_query($req);
while($data=mysql_fetch_assoc($res))
{
echo $data['noms'],'<br/>';
}
}
?>
Un petit exemple de portion de script permettant via des checkbox cochées d'effacer des enregistrements dans une table. Simple d'emploi
error_reporting(E_ALL);
if(!empty($_POST))
{
if(is_array($_POST['choix']) && count($_POST['choix'])>=1)
{
// la requête à adapter à votre config
$req="DELETE from latable where id IN(".implode(',', $_POST['choix']).")";
$res=mysql_query($req);
}
}
else
{
echo 'Test de récupération dans le cas d\'un select multiple';
//$test="yves";
echo '<form method="POST" action="checkbox.php">
<input type="checkbox" name="choix[]" value="1"> nom 1<br>
<input type="checkbox" name="choix[]" value="2"> nom 2<br>
<input type="checkbox" name="choix[]" value="3"> nom 3<br>
<input type="checkbox" name="choix[]" value="4"> nom 4<br>
<input type="checkbox" name="choix[]" value="5"> nom 5<br>
<input type="submit" value="test">
</form>';
}
?>
