Fonction

nesrine -  
pyschopathe Messages postés 2053 Statut Membre -
Bonjour, svp est-ce que y a t-il une fonction qui cherche une sous chaine ds une chaine ou meme un texte en php , j'ai trop cherché pas aucun résultat , je dois remettre ce travail pour samedi :( et merci d'avance...
A voir également:

40 réponses

Brachior Messages postés 616 Statut Membre 46
 
arf j'avais pas vu qu'il y avait une autre page =X ...
bon j'sors mon vieux cours histoire de voir s'il y a quelque chose qui pourrai aider ^^
0
Brachior Messages postés 616 Statut Membre 46
 
bon alors moi les jointure j'les ai apprises comme ca :
$requete=
"SELECT tick.def_pb, tick.descpt_pb, tick.Num_ticket, inter.Num_ticket
FROM ticket AS tick, intervention AS inter
WHERE tick.cat_pb='".$catégorie."' and tick.s_dom_pb='".$ss_domaine."'
AND inter.Num_ticket=tick.Num_ticket;"
;
( c'est du SQL1 de 1986 ^^ si ca fonctionne pas j'en ai une autre de 1992 ^^ )
0
Brachior Messages postés 616 Statut Membre 46
 
tu t'en sors ? Oo
0
nesrine
 
bonjour, dsl je ss allé dormir parce que je n'arrivais meme pas à ouvrir mes yeux !! je l'ai essayé et voila ce qui m'affiche :

Unknown column 'tick.descpt_pb' in 'field list'
SELECT tick.def_pb, tick.descpt_pb, tick.Num_ticket, inter.Num_ticket FROM ticket AS tick, intervention AS inter WHERE tick.cat_pb='réparation' and tick.s_dom_pb='logiciel' AND inter.Num_ticket=tick.Num_ticket;
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Brachior Messages postés 616 Statut Membre 46
 
"descpt_pb" appartient a quelle table ?
je ne connais pas la structure de tes tables ^^
( je re ce soir ... je pars au taf ... )
0
nesrine
 
bonjour, j'ai su faire la jointure c une autre syntaxe et mnt ce qui ne marche pas c'est la fonction :
$pos = strpos($definition, $session);
if($pos === true)
{echo"<strong>"; echo"donnée[def_pb]"; echo"</strong>"; echo"<br>";
echo"donnée[despt_pb]";
echo"<hr>";
}

et le blême c'est qu'il m'affiche rien et y a d'erreur !!!!

ok à ce soir ^^
0
pyschopathe Messages postés 2053 Statut Membre 135
 
S'il n'affiche rien, c'est qu'il ne trouve rien...
0
nesrine
 
oui oui c'est une erreur , je l'ai corrigé c bon et il m'affiche les données avec echo mais moi je veux qu'il m'affiche à condition si ds la description du ticket il le mot session ?!! tu m'as compris ?
0
nesrine
 
mais la table ticket est remplie par une occurrence qui contient le mot session !!
0
pyschopathe Messages postés 2053 Statut Membre 135
 
Et que renvoie la fonction strpos ? La position de la première occurrence de l'élément recherché... Donc ton test if est faux.
0
nesrine
 
que dois j faire apparament y a pas une fonction qui cherche une sous chaine ds une autre chaine ?!!
0
pyschopathe Messages postés 2053 Statut Membre 135
 
Et à ton avis que fait strpos ? https://www.php.net/function.strpos
0
nesrine
 
oui elle cherche la première occurrence du cara mais meme la fonction strstr ne répond pas !!

while ($donnée = mysql_fetch_assoc($resultat))
{echo"$donnée[n_ticket]";
echo"$donnée[def_pb]";
$definition='".$donnée[despt_pb]."';
$pos = strstr($definition, 'session');
echo"".$pos."";
if($pos != FALSE)
{echo"<strong>"; echo"donnée[def_pb]"; echo"</strong>"; echo"<br>";
echo"donnée[despt_pb]";
echo"<hr>";
}
}

les deux echo marchent très bien mais arrivant à la fonction no signal !!
0
pyschopathe Messages postés 2053 Statut Membre 135
 
Comment ça "no signal" ?

edit: Et strpos fait très bien l'affaire, il fallait simplement remplacer ton if( $pos === true ) par if ( $pos !== false ).
0
nesrine
 
càd aucunne réponse ! stp tu connais pas kelk'un qui peux m'aider , je ss :(:(
0
nesrine
 
ahaahaa ca a marchéééééééééééééé merci merci
slt....
0
Brachior Messages postés 616 Statut Membre 46
 
bah voila un probleme resolu ^^ ca fait plaisir ^^
0
nesrine
 
re , tu sais j'ai testé le code sur un exemple où le ticket n'a pas de solution donc il n'existe pas ds la table intervention mais il m'affiche le ticket !!! apparemment il fait pas bien la jointure , moi la syntaxe je l'ai trouvé ds un forum , je la connais pas !! voici la requete que je l'utilise :

$requete="SELECT tick.*,inter.* FROM ticket as tick LEFT OUTER JOIN intervention as inter ON tick.n_ticket=inter.n_ticket WHERE tick.cat_pb='".$catégorie."' and tick.dom_pb='".$domaine."'";

merci
0
Brachior Messages postés 616 Statut Membre 46
 
d'apres le manuel,
JOIN crée une ligne NULL si il ne trouve pas l'element dans la jointure
Si aucune ligne ne correspond dans la table de droite dans la partie ON ou USING du LEFT JOIN, une ligne avec toutes les colonnes mises à NULL est utilisé en remplacement.

ils disent juste apres :
Vous pouvez utiliser ce fait pour trouver les enregistrements dans une table qui n'ont pas de correspondances dans une autre :

mysql> SELECT table1.* FROM table1
    ->        LEFT JOIN table2 ON table1.id=table2.id
    ->        WHERE table2.id IS NULL;

si tu fais IS NOT NULL au lieu de IS NULL tu devrais avoir tous les enregistrement qui existe dans les deux.

(je sais pas si c'est ca l'erreur =/ j'suis pas vraiment bon en sql =X)
voila la page du manuel de JOIN ^^
http://dev.mysql.com/doc/refman/5.0/fr/join.html
0
nesrine
 
bonjour , c bon j'ai pu réglé ce pb
dis moi je peux ecrire une requete ds une boucle WHILE ?!!
0
pyschopathe Messages postés 2053 Statut Membre 135
 
Oui.
0
nesrine
 
while($ligne = mysql_fetch_assoc($resul))
{ echo"<strong>"; echo"Solution :<br>"; echo"</strong>";
echo"$ligne[desc_sol]";
$nb=$ligne['nb_cons'];
$nbr=$nb+1;
$sql="UPDATE `myhelp`.`solution` SET `nb_cons`='".$nbr."' WHERE `solution`.`n_sol`='".$ligne['nb_cons']."'";
$result = mysql_query($sql, $connexion) or exit(mysql_error() . "<br/>$sql");
}

je veux modifier le champ nb_cons ds la table solution , si je mets echo de nbr , il m'affiche la nouvelle valeur mais qd je vois ds la table (phpmyadmin) je trouve l'antienne valeur !!!
0
pyschopathe Messages postés 2053 Statut Membre 135
 
essaie d'exécuter ta requête dans mysql voir si ça fonctionne comme ça...
0
nesrine
 
oui mais moi je l'ai pris du sql !!! et j'ai travaillé avec ds pour une autre tache ca fonctionne très bien !!
0
pyschopathe Messages postés 2053 Statut Membre 135
 
Reformule, c'est incompréhensible... Tu as fait ce que je t'ai dit ou non ?
0
nesrine
 
oui j'ai pris la requete du sql , j'ai modifier un champ puis ds sql j'ai pris la phrase copier coller , je ss sur elle correcte !!
0
pyschopathe Messages postés 2053 Statut Membre 135
 
Fais afficher ta variable $sql.
0
nesrine
 
voila ce qu'il m'affiche :
UPDATE `myhelp`.`solution` SET `nb_cons`='8' WHERE `solution`.`n_sol`='7'
0
pyschopathe Messages postés 2053 Statut Membre 135
 
- C'est quoi `myhelp`.`solution` ? Si ce n'est pas le nom de ta table, corrige.

- Tes champs `nb_cons` et `solution`.`n_sol` sont bien des chaines de caractères ? Sinon enlève les guillemets.

- `solution` n'a rien à faire là : le nom de la table est précisé après le UPDATE.

- Apprends le SQL !
0
Brachior Messages postés 616 Statut Membre 46 > pyschopathe Messages postés 2053 Statut Membre
 
"Apprends le SQL !"
oula ^^
le fait de mettre le nom de la table avant celui du champs n'est en aucun cas interdit ni inutile,
il permet a SQL de se repérer en cas de jointure entre plusieurs table
de plus, ce site est la pour aider les gens ... pas pour les dévaloriser et les envoyer chier ...
si un sujet t'énerve, tu peux très bien passer ton chemin ...
il y a pas mal de sujet ... te sens pas obligé d'aider tout le monde ^^
0
pyschopathe Messages postés 2053 Statut Membre 135 > Brachior Messages postés 616 Statut Membre
 
Après relecture de ma réponse, c'est vrai que ce n'était pas un ton très agréable, j'en suis désolé, je devais être énervé !

Je ne dis pas que le nom de la table est interdit, mais en l'occurrence, il est inutile. L'nelever permet donc une meilleure lisibilité de la requête.

Le "apprends le SQL", bien que transpirant de condescendance, ne se voulait pas blessant, mais au vu des autres posts de ce sujet, je pense que c'est une bonne idée.

Encore désolé pour le ton de conn*** que j'ai pu avoir, ça m'arrive des fois, mais je ne suis pas méchant ;-p.
0