Ses derniers messages sur les forums
Oui.
Mais je ne comprend pas ce qui te chagrine.
<?php
if ($_POST['var'] == '') {
// le champ est vide
}
elseif ($_POST['var'] == 0) {
// le champ vaut 0
}
else {
// le champ vaut autre chose
}
?>
[Message modifié le 07/10/2004 à 23:09 par LA GLOBULE]
J'utilise la meme technique.
Ben la si, tu le sauras.
Ben :
<?php
if (isset($_POST['var']) && $_POST['var']==0) {
// la var vaut 0
}
?>
[Message modifié le 10/10/2004 à 18:02 par LA GLOBULE]
Imaginons que tu ais un formulaire complet :
- un menu deroulant qui contient les champs de ta table (quand l'utilisateur soumet le formulaire, tu as la variable $_POST['champ']).
- un bouton radio croissant / decroissant (qui a en fait comme valeur ASC / DESC et que tu recuperes grace à la variable $_POST['ordre']).
- un bouton radio nul / non nul (que tu recuperes grace à la variable $_POST['nul']).
Bref, au final, voici une requete possible :
<?php
if ($_POST['nul'] == 'nul') $sql = 'SELECT truc, chose FROM table WHERE '.$_POST['champ'].'="" ORDER BY '.$_POST['champ'].' '.$_POST['ordre'];
else $sql = 'SELECT truc, chose FROM table ORDER BY '.$_POST['champ'].' '.$_POST['ordre'];
?>
Tu vois un peu l'idée ? Le truc, c'est de construire sa requete en fonction des données du formulaire.
C'est normal, vu que tu travailles avec des explode et des str_replace (et de plus, dans ton cas, seul le point est utilisé comme élément de fin de phrase, alors qu'il y a aussi le ? et le !, voir meme le ; ).
Pour faire un truc vraiment propre, il faut utiliser les expressions régulières.
J'ai essayé, mais mon code ne marche pas lorsqu'il y a plusieurs espaces avant ou apres un signe de ponctuation (qui marque la fin d'une phrase).
Bref, ton truc n'est pas impossible à faire, mais faudrait trouver un pro de la regex.
Dsl, pas assez calé en JS pour répondre :/
Sinon, ca marche avec que de l'html ? (si oui, alors ca devrait rouler)
Essaye de mettre un
set_time_limit au depart de ton script.
Avec un peu de chance, ton hebergeur n'a pas bloquer cette fonction.
Remplace ces lignes :
<?php
$sql = 'SELECT * FROM ("'.$type.'") WHERE id = ("'.$id.'")';
$query = mysql_query($sql);
?>
Par :
<?php
$sql = 'SELECT * FROM '.$type.' WHERE id = "'.$id.'"';
$query = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
?>
Je te l'avais dis pour les parenthèses :)
Oui, tu affiches bien des choses avant de faire ton header.
En fait, pour résumer, voila ce que tu dois faire :
if (mon test 1) {
...
}
elseif(mon test2 ){
...
}
elseif (mon test x) {
...
}
else {
la tout est ok
-> la requete SQL
-> le header
}
Tu vois l'idée ?