Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z wyrażeniem IF
new_user
post
Post #1





Grupa: Zarejestrowani
Postów: 66
Pomógł: 0
Dołączył: 20.02.2007

Ostrzeżenie: (0%)
-----


Mam taki kod:
  1. <?php
  2. while(!feof($plik_txt)) {
  3. $linia = fgets($plik_txt,255);
  4. if (eregi("^[a-zA-Z0-9]",$linia)) {
  5.  $rekord = split(";",$linia);
  6. if ((!eregi($rekord[0],$wiersz[0])) and (!eregi($rekord[1],$wiersz[1]))){
  7. $wiersz[2] = str_replace("=", "=OD", $wiersz[2]);
  8. $wiersz[3] = str_replace("=", "=OD", $wiersz[3]);
  9. $gen_xml .= "\t\t<row>\n";
  10. $gen_xml .= "\t\t\t<column name=\"2\">".$wiersz[2]."</column>\n";
  11. $gen_xml .= "\t\t\t<column name=\"3\">".$wiersz[3]."</column>\n";
  12. $gen_xml .= "\t\t\t<column name=\"4\">".$wiersz[4]."</column>\n";
  13. $gen_xml .= "\t\t\t<column name=\"5\">".$wiersz[5]."</column>\n";
  14. $gen_xml .= "\t\t\t<column name=\"6\">".$wiersz[6]."</column>\n";
  15. $gen_xml .= "\t\t</row>\n";
  16. }
  17. }
  18. ?>

Mam dwa takie kawałki kodu jeden z !eregi a drugi z samym eregi i ten bez ! działa bez zarzutu natomiast ten drugi z ! zwraca mi tak jakby wyniki wszystkie i te spelniające warunek i te nie spełniające warunku.
Bardzo proszę o pomoc

Ten post edytował new_user 4.04.2008, 07:01:26
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
new_user
post
Post #2





Grupa: Zarejestrowani
Postów: 66
Pomógł: 0
Dołączył: 20.02.2007

Ostrzeżenie: (0%)
-----


Właśnie zastosowałem to co napisałeś:
  1. <?php
  2. !(eregi($rekord[0],$wiersz[0])) and (eregi($rekord[1],$wiersz[1]))
  3. ?>


i teraz mam tak:
  1. <?php
  2. while(!feof($plik_txt)) {
  3. $linia = fgets($plik_txt,255);
  4. if (eregi("^[a-zA-Z0-9]",$linia)) {
  5.  $rekord = split(";",$linia);
  6. if (!(eregi($rekord[0],$wiersz[0])) and (eregi($rekord[1],$wiersz[1]))){
  7. $wiersz[2] = str_replace("=", "=OD", $wiersz[2]);
  8. $wiersz[3] = str_replace("=", "=OD", $wiersz[3]);
  9. $gen_xml .= "\t\t<row>\n";
  10. $gen_xml .= "\t\t\t<column name=\"2\">".$wiersz[2]."</column>\n";
  11. $gen_xml .= "\t\t\t<column name=\"3\">".$wiersz[3]."</column>\n";
  12. $gen_xml .= "\t\t\t<column name=\"4\">".$wiersz[4]."</column>\n";
  13. $gen_xml .= "\t\t\t<column name=\"5\">".$wiersz[5]."</column>\n";
  14. $gen_xml .= "\t\t\t<column name=\"6\">".$wiersz[6]."</column>\n";
  15. $gen_xml .= "\t\t</row>\n";
  16. }
  17. }
  18. ?>


Niestety dziwne wyniki mam.
A mam taki plik TXT:
  1. 11111;
  2. 22222;

i chcialbym zeby w tej petli byly pomijane rekordy z tymi liniami, żeby były tylko wypluwane rekordy ktore nie istnieja w tym pliku.
Próbowałem nawet zrobić w taki sposób:
i teraz mam tak:
  1. <?php
  2. while(!feof($plik_txt)) {
  3. $linia = fgets($plik_txt,255);
  4. if (eregi("^[a-zA-Z0-9]",$linia)) {
  5.  $rekord = split(";",$linia);
  6. if (!($rekord[0]==$wiersz[1])){
  7. $wiersz[2] = str_replace("=", "=OD", $wiersz[2]);
  8. $wiersz[3] = str_replace("=", "=OD", $wiersz[3]);
  9. $gen_xml .= "\t\t<row>\n";
  10. $gen_xml .= "\t\t\t<column name=\"2\">".$wiersz[2]."</column>\n";
  11. $gen_xml .= "\t\t\t<column name=\"3\">".$wiersz[3]."</column>\n";
  12. $gen_xml .= "\t\t\t<column name=\"4\">".$wiersz[4]."</column>\n";
  13. $gen_xml .= "\t\t\t<column name=\"5\">".$wiersz[5]."</column>\n";
  14. $gen_xml .= "\t\t\t<column name=\"6\">".$wiersz[6]."</column>\n";
  15. $gen_xml .= "\t\t</row>\n";
  16. }
  17. }
  18. ?>

też nie pomogło i wypluwa rekordy które znajdują się w pliku.

Ten post edytował new_user 4.04.2008, 11:29:23
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 12.10.2025 - 10:12