2017-04-10 1 views
1

J'essaie de filtrer certaines entrées dans une boucle While. Ceci j'essaye de faire avec la fonction strpos, malheureusement quand j'utilise une variable comme aiguille, je n'obtiens pas un résultat.Correspondance d'une chaîne à une autre chaîne avec PHP

Aucun résultat: $tra = strpos($HRreq, $entry_type)

Résultat: $tra = strpos($HRreq, "string");

Mais, je en ai besoin d'être variable dans la boucle while.

$select_exec = odbc_exec($amos_db,$select_personnel); 
    while ($row = odbc_fetch_array($select_exec)){ 
     $username = $row['user_sign']; 
     $entry_type = $row['entry_type']; 
     $fullname1 = $row['lastname'] . $row['firstname']; 
     $fullname = trim(preg_replace('/ +/', ' ', preg_replace('/[^A-Za-z0-9 ]/', ' ', urldecode(html_entity_decode(strip_tags($fullname1)))))); 
     $userno = $row['employee_no_i']; 
     $tra = strpos($HRreq, "$entry_type"); 
     echo $entry_type ." = ". $tra; 
     } 

J'ai ajouté une partie du code puisque le code a une longueur de plus de 500 lignes. J'espère que cela suffit pour avoir une idée de ce que j'essaie d'accomplir

+1

pouvez-vous ajouter le code que vous avez utilisé exactement? –

+0

Etes-vous sûr que la variable n'est pas vide ou vide? – Swellar

+0

J'ai ajouté plus de code, j'ai essayé de 'echo' le' $ entry_type' et ensuite '$ tra' qui ne renvoie que le $ $ entry_type' mais une valeur nulle sur $ tra' – Wvs

Répondre

0

J'ai découvert que la base de données retourné avec des espaces blancs après la variable. J'ai ajouté un trim() et le problème a été résolu. C'était une erreur stupide.