Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Wyświetlanie wieku z tabeli - cURL
benzulli
post
Post #1





Grupa: Zarejestrowani
Postów: 112
Pomógł: 0
Dołączył: 3.07.2013

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


  1. while ($row = mysql_fetch_array($rows))
  2. {
  3. $name = $row['name'];
  4. $nameS = str_replace(" ", "+", $name);
  5. $nameS = str_replace("&", "%27", $nameS);
  6. $nameC = str_replace("&", "'", $name);
  7. $nameCsec = str_replace(" ", " ", $nameC);
  8. $nameF = str_replace("&", "'", $name);
  9. if(preg_match("/$nameCsec/", $link)) {
  10. [b] preg_match("@width:20%;\" >(.*?)</td>@", $link, $age);[/b]
  11. $arr_online .= '<tr><td><span style="color:green"><a target="_blank" href="http://strona.pl/index.php&name='.$nameS.'">'.$nameF.'</a></span></td><td>'.[b]$age[0][/b].'</td></tr>';
  12. } else {
  13. $arr_offline .= '<tr><td><span style="color:red">'.$nameF.'</li></span></td></tr>';
  14. }
  15. }


Witam

Mam tabelę użytkowników z imieniem i nazwiskiem, potrzebuję wydobyć wiek tych użytkowników, którzy są online. Próbowałem komendą preg_match, ale niestety wydobywa ona tylko pierwszy rekord, a resztę zostawia i rekordy wyświetlone się powtarzają (powtarza się pierwszy rekord we wszystkich komórkach).

Chciałem zrobić coś takiego, że np preg_match('@$name - tutaj wszystkie reguły i droga do wieku (.*?) a po lewo byłby wiek@', $link, $age), lecz niestety nie działa, bo w pierwszej opcji nie można z tego co wiem mieszać warunków ze zmiennymi.

Dzięki z góry za pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
benzulli
post
Post #2





Grupa: Zarejestrowani
Postów: 112
Pomógł: 0
Dołączył: 3.07.2013

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


  1. <?php
  2. include("connect.php");
  3. $curl = curl_init();
  4. curl_setopt($curl, CURLOPT_URL, 'http://strona.pl/listaludzi.php');
  5. curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  6. $link = curl_exec($curl);
  7. $rows = mysql_query("SELECT * FROM ludzie ORDER BY name ASC");
  8. $arr_online = '';
  9. $arr_offline = '';
  10. while ($row = mysql_fetch_array($rows))
  11. {
  12. $name = $row['name'];
  13. $nameS = str_replace(" ", "+", $name);
  14. $nameS = str_replace("&", "%27", $nameS);
  15. $nameC = str_replace("&", "'", $name);
  16. $nameCsec = str_replace(" ", " ", $nameC);
  17. $nameF = str_replace("&", "'", $name);
  18. if(preg_match("/$nameCsec/", $link)) {
  19. preg_match("@width:20%;\" >(.*?)</td>@", $link, $wiek);
  20. $arr_online .= '<tr><td><span style="color:green"><a target="_blank" href="http://www.strona.pl/index.php?czlowiek='.$nameS.'">'.$nameF.'</a></span></td><td>'.$wiek[0].'</td></tr>';
  21. } else {
  22. $arr_offline .= '<tr><td><span style="color:red">'.$nameF.'</li></span></td></tr>';
  23. }
  24. }
  25.  
  26. echo $arr_online.$arr_offline;
  27. ?>


Imiona są w tabeli, po prostu w takiej postaci

<table>
<tr><td>Anna Kowalska</td><td>20</td></tr>
<tr><td>Jan Kowalski</td><td>40</td></tr>
</table>

Kiedy pobieram dane z tabeli w sposób, który pokazałem wyżej, to pobiera mi tylko pierwszy rekord wieku, i wstawia do każdego nazwiska pierwszy wiek.

Ten post edytował benzulli 15.08.2014, 10:14:43
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: 4.10.2025 - 19:38