EmGeI
vendredi 20 juin 2008 à 14:10
Bon j'ai trouvé une requête qui fonctionnait un peu mieux pour ce que je voulais.
La requête précédente ne fonctionnant pas.
Voici le code de ma page pour le moment :
CODE
[b]FORMULAIRE DE RECHERCHE[/b]
<table class="main" style="width: 100%;" cellspacing="1" cellpadding="4">
<tr class="head">
<td colspan="3" valign="top">
<a href="index.php">Accueil</a> > Information for <?php echo($country); ?>
</td>
</tr>
<tr>
<td class="con2" align="left" valign="top" colspan="2">
<table width="100%">
<tr>
<td colspan="3" class="con1" align="center">
<form name="reject" method="post" action="req_search.php">
<table>
<tr>
<td>CC</td>
<td><input type="text" name="cc" /></td>
</tr>
<tr>
<td>NDC</td>
<td><input type="text" name="ndc" /></td>
</tr>
<tr>
<td colspan="2"><input name="submit" value="Submit" type="submit"></td>
</tr>
</table>
</form>
</td>
</tr>
</table>
[b]PAGE DE TRAITEMENT[/b]
<?php
//Connexion à la DB
include("includes/connexion.php");
if(isset($_GET['cc'])){
$cc=$_GET['cc'];
}
if(isset($_GET['ndc'])){
$ndc=$_GET['ndc'];
}
$r = mysql_query("SELECT operator, operator.iso, country, country.iso FROM operator, country WHERE e164_ndc like '%$ndc%' AND country_code = '$cc' and operator.iso = country.iso;") or die ("".mysql_error());
//$r = mysql_query ("SELECT operator FROM operator WHERE e164_ndc REGEXP '^$ndc[^0-9] ' OR e164_ndc REGEXP '[^0-9]$ndc$' OR e164_ndc REGEXP '[^0-9]$ndc[^0-9]';") or die ("".mysql_error());
while($reject=mysql_fetch_array($r))
{
$iso = $reject["iso"];
$country = $reject["country"];
$operator = $reject["operator"];
echo $country." ".$operator."<br>";
}
?>
J'ai un autre soucis. Pour le moment pour mes recherche j'utilise deux INPUT TEXT
dans un form et cela fonctionne mais il faudrait que je passe par un seul INPUT.
En gros pour le moment je découpe manuellement le nombre. Par exemple :
32498556655
Dans mon champs CC je met 32 et dans mon champs NDC je met 498.
Le problème est que les personnes qui vont utilisé la base ne savent pas
forcement où découpé.
Par exemple :
1306XXXXXXXXX = Canada | Rogers Wireless Inc.
14XXXXXXXXXX = USA | Cingular Wireless.
Donc j'aimerais faire mon formulaire de la manière suivante :
CODE
<table class="main" style="width: 100%;" cellspacing="1" cellpadding="4">
<tr class="head">
<td colspan="3" valign="top">
<a href="index.php">Accueil</a> > Information for <?php echo($country); ?>
</td>
</tr>
<tr>
<td class="con2" align="left" valign="top" colspan="2">
<table width="100%">
<tr>
<td colspan="3" class="con1" align="center">
<form name="reject" method="post" action="req_search.php">
<table>
<tr>
<td>MSISDN</td>
<td><input type="text" name="MSISDN" /></td>
</tr>
<tr>
<td colspan="2"><input name="submit" value="Submit" type="submit"></td>
</tr>
</table>
</form>
</td>
</tr>
</table>
En gros faire une boucle :
Si 'premier digit est trouvé dans la base'
Afficher le résultat
Sinon 'tester les deux premier digit'
Sinon 'tester les 3 premier digit'
Sinon 'Afficher aucune correspondance'
Et ce test doit être fait sur le CC et sur le NDC. Sur le CC pour trouvé
le pays et sur le NDC pour trouvé l'opérateur.
32498XXXXXX Belgium | Mobistar
32478XXXXXX Belgium | Proximus
J'ai chercher du côté des REGEX, des chaines de caractère, ... Enfin je crois que j'ai fait le tour de tout
mais je ne sais pas quelle fonction utilisé ni par où commencer
Je m'arrache les cheveux depuis deux jours sur ce truc je vais craquer.........