vérification d'une fourchette d'id correctes

Eléphant du PHP | 250 Messages

25 avr. 2010, 18:49

Bonjour,

Alors j'ai une form ou l'on rentre un ID à modifier qui doit être disponible dans les enregistrements de ma base.

Par exemple:

J'ai 3 enregistrements :

id:100 Loic
id:80 Alain
id:50 Toto

Faut que les ID entrés soient dans la fourchette de 50 à 100. Sinon id inexistant dans la base.

<?php
include("mysqlconnex.inc.php");//connexion à la base de donnée
$id_con=connPDO();
if( (!empty($_POST["id"]))&& ($_POST["id"]>1 and $_POST["id"]<100) )//vérifier si une saisie
{
Là, j'ai si mon id est différent de vide et si il est sup à 1 et inf 100 par exemple. Seulement faudrait que je fasse cette vérification sur la base :roll:

Ensuite mon second problème, c'est les trous générés par les suppressions et incrémentations qui continu avec le LastID.
Faudrait que je mette l'id50 en id1 puis id80 en id2 id100 en id3 ça effacerait les trous. Enfin pour moi ça serait logique je pense :roll:

Merci
J'ai un petit éléphant rose chez moi avec dessus PHP woman :p
Pour une Europe sans hypocrisie, n'y barratins.
L'euro caca j'en veux plus. Les conneries c'est fini.

Eléphant du PHP | 250 Messages

25 avr. 2010, 19:29

Je me demande si j'aurai bien dû mettre auto-incrémente. Surtout si la dernière valeur est 100 et qui a de la place avant suite à un effacement en 49 par exemple. #-o
J'ai un petit éléphant rose chez moi avec dessus PHP woman :p
Pour une Europe sans hypocrisie, n'y barratins.
L'euro caca j'en veux plus. Les conneries c'est fini.

ViPHP
ViPHP | 2287 Messages

25 avr. 2010, 20:59

Je me demande si j'aurai bien dû mettre auto-incrémente. Surtout si la dernière valeur est 100 et qui a de la place avant suite à un effacement en 49 par exemple. #-o
Tu as tout compris là ;)

L'auto-incrémentation exclut l'usage que tu fais de l'id, il faut choisir l'un ou l'autre (ou utiliser un autre champ). Quand on a un id auto-incrémenté, il faut se fixer la règle d'ignorer complètement sa valeur (la seule information sur laquelle on peut s'appuyer, c'est sur le fait que cette valeur est unique pour chaque enregistrement de la table). La valeur elle-même ne doit pas avoir de sens pour quoiquecesoit d'autre que MySQL.
if(!@work()){ Nespresso(); } else { what(); }
______________________________

Eléphant du PHP | 250 Messages

26 avr. 2010, 16:06

Bon ben ça méritait réflexion !

Je crois que je vais me réorienter vers l'unicité des mails.

Par contre, faudra que je fasse une condition, qui appel une requête pour vérifier l'existence d'un mail tapé dans ma form ? .

Faut que je me fasse un organigramme :roll:
J'ai un petit éléphant rose chez moi avec dessus PHP woman :p
Pour une Europe sans hypocrisie, n'y barratins.
L'euro caca j'en veux plus. Les conneries c'est fini.

Eléphant du PHP | 453 Messages

26 avr. 2010, 16:27

Et l'eau Diabless6,

Comme la précisé notre ami Caliméro, l'auto incrémentation est préconisé. Ca donne un truc dans ce style pour la création d'une table :
CREATE TABLE IF NOT EXISTS une_table(
id INT(8) NOT NULL AUTO_INCREMENT PRIMARY KEY,
un_champ VARCHAR(32) NOT NULL
)
Après, vu que id aura une valeur unique par défaut, tu pourras faire une requête pour sélectionner une/plusieurs parties dans cette table :
SELECT * FROM une_table WHERE id BETWEEN 50 AND 100;
cette même requête peut être faite de cette manière mais en moins bien :
SELECT * FROM une_table WHERE id > 50 AND id < 100;
En ce qui concerne ton organigrame, je t'invite à utiliser Dia. Très simple à aborder et il répond à pas mal de cas.

Bon code à toi.
La Tux attitude avec les kiw'z syou plait
Komodo Edit - Inkscape - Dia

ViPHP
AB
ViPHP | 5818 Messages

26 avr. 2010, 16:39

Je crois que je vais me réorienter vers l'unicité des mails.
Effectivement on emploi un id auto incrémenté pour avoir un identifiant unique. Si dans ta table tu as déjà un identifiant unique, tu peux peut-être t'en passer...

Mais bon sinon c'est pour faire quoi cette vérif : $_POST["id"]>1 and $_POST["id"]<100 ? que tu veux faire au final ?

Eléphant du PHP | 250 Messages

26 avr. 2010, 17:00

Chat lu à toi, au grand niuxe, paix soit sur toi :mrgreen:

ça me donne des idées pas très catholique tes exemples :D

Ho! miséricordiou PHP, je préfère un tableau "babtou" afin d'asservir mon zèle pour mon organigramme. :mrgreen:


Merci à toi

Cher sdf des fofos, tu as une place dans mon coeur ! :wink:
Modifié en dernier par diabless6 le 26 avr. 2010, 18:22, modifié 2 fois.
J'ai un petit éléphant rose chez moi avec dessus PHP woman :p
Pour une Europe sans hypocrisie, n'y barratins.
L'euro caca j'en veux plus. Les conneries c'est fini.

Eléphant du PHP | 250 Messages

26 avr. 2010, 17:07

Je crois que je vais me réorienter vers l'unicité des mails.
Effectivement on emploi un id auto incrémenté pour avoir un identifiant unique. Si dans ta table tu as déjà un identifiant unique, tu peux peut-être t'en passer...

Mais bon sinon c'est pour faire quoi cette vérif : $_POST["id"]>1 and $_POST["id"]<100 ? que tu veux faire au final ?
Coucou AB,

Oui je pense que je pourrais mettre mes mails en clés primaires ça sera plus cohérent pour moi.

La vérif c'était juste la vérification de l'id tapé, et si il était inclus entre 1 et 100 par exemple afin de vérifier son existence.

Mais, je pense être dans une mauvaise approche, donc je vais revoir ça. :wink:
J'ai un petit éléphant rose chez moi avec dessus PHP woman :p
Pour une Europe sans hypocrisie, n'y barratins.
L'euro caca j'en veux plus. Les conneries c'est fini.