foreach loop

PHPportalen Forum Index » PHP Mjukstart
Lägg ett bokmärke på hela tråden
Skapa nytt inlägg   Svara på inlägget
Visa föregående ämne :: Visa nästa ämne  
Startad av: Meddelande
Biasse



Medlem i: 5096 dagar

Status: Offline



#741702
Inlägg Skrivet: 2017-05-10 12:32      Ämne: foreach loop Citera

edit

Senast ändrad av Biasse den 2017-05-11 11:58, ändrad totalt 1 gång
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Azreal
Administratör



Medlem i: 4335 dagar
Från: Uppsala, bor i Göteborg
Status: Offline



#741704
Inlägg Skrivet: 2017-05-10 13:07      Ämne: Citera

Kan du visa mer utav din kod? Hur ser objektet ut som du jobbar med?
 

_________________
Konsultation via PM, inte gratis.
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
Biasse



Medlem i: 5096 dagar

Status: Offline



#741705
Inlägg Skrivet: 2017-05-10 13:17      Ämne: re: Citera

edit

Senast ändrad av Biasse den 2017-05-11 11:58, ändrad totalt 1 gång
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Azreal
Administratör



Medlem i: 4335 dagar
Från: Uppsala, bor i Göteborg
Status: Offline



#741706
Inlägg Skrivet: 2017-05-11 10:45      Ämne: Citera

Har inte riktigt koll på hur dina inkludera filer fungerar så blir svårt att svara på.
Men den metod du använder så anger du en andra parameter $site->find('td[class="tNow"]', 0);
Vad gör den? Det kanske specificerar att du endast ska ha den första träffen i sökningen?

Lite andra tips:
- Det är ofta inte tillåtet att hämta information från siter på det sättet du gör. Förväntar dig en blockerad IP address ifall siten inte tillåter detta.
 

_________________
Konsultation via PM, inte gratis.
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
Biasse



Medlem i: 5096 dagar

Status: Offline



#741707
Inlägg Skrivet: 2017-05-11 12:00      Ämne: Citera

Då raderar jag detta då. Sökte bara metoden på hur man kan loopa ut 3 olika taggar och få dom i samma variabel.
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Azreal
Administratör



Medlem i: 4335 dagar
Från: Uppsala, bor i Göteborg
Status: Offline



#741708
Inlägg Skrivet: 2017-05-11 12:05      Ämne: Citera

Du kan lagra informationen i en array/multiarray eller ett nytt objekt för att jobba vidare med den senare i skriptet.

Titta lite här:
https://www.w3schools.com/php/php_arrays_multi.asp
 

_________________
Konsultation via PM, inte gratis.
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
Biasse



Medlem i: 5096 dagar

Status: Offline



#741712
Inlägg Skrivet: 2017-05-12 17:09      Ämne: re: Citera

Får inte till det på det viset men provar enligt detta:

KOD:
1:
 
2:
$site = file_get_html("http://www.tv-tabla.se");
3:
 
4:
foreach($site->find('caption') as $channel)
5:
{
6:
$channels = $channel->plaintext;
7:
   
8:
foreach($site->find('td[class="titleNow"]') as $title)
9:
{   
10:
$titles = $title->plaintext;   
11:
}
12:
echo $channels . $titles . "<br>";
13:
}


Den skriver ut 'caption' rätt men får samma resultat för 'td[class="titleNow"]' för varje 'caption' resultat. Tycker jag provat allt utan att få till det.
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Koenigsegg



Medlem i: 3137 dagar

Status: Offline



#741713
Inlägg Skrivet: 2017-05-12 18:29      Ämne: Re: re: Citera

Biasse skrev:

KOD:
1:
foreach($site->find('caption') as $channel) {
2:
    $channels = $channel->plaintext;
3:
   
4:
    foreach($site->find('td[class="titleNow"]') as $title) {   
5:
        $titles = $title->plaintext;   
6:
    }
7:
 
8:
    echo $channels . $titles . "<br>";
9:
}


Den skriver ut 'caption' rätt men får samma resultat för 'td[class="titleNow"]' för varje 'caption' resultat. Tycker jag provat allt utan att få till det.

Jag är kanske dum nu, men vad jag kan se så är det ju samma foreach(...$title) som körs för varje caption/$channel! Så...finns det nån funktionalitet i $site som inte visats än, eller vad??
 

_________________
Aktiv frilansare inom ganska mycket som har med webben att göra Smile
Till toppen på sidan
Visa användarprofil Skicka privat meddelande MSN Messenger
Biasse



Medlem i: 5096 dagar

Status: Offline



#741714
Inlägg Skrivet: 2017-05-12 18:44      Ämne: Citera

Denna skriver ut kanalerna
KOD:
1:
foreach($site->find('caption') as $channel) {   
2:
$channels = $channel->plaintext . "<br>";   
3:
echo $channels; }


Denna epg
KOD:
1:
foreach($site->find('td[class="titleNow"]') as $title) {   
2:
$titles = $title->plaintext . "<br>";   
3:
echo $titles; }


Det jag försöker är att få rätt epg till rätt kanal och loopa ut det hela.
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
harald_b
Moderator



Medlem i: 4076 dagar
Från: Tavesta
Status: Offline



#741715
Inlägg Skrivet: 2017-05-12 22:17      Ämne: Citera

För att veta hur man kan göra så måste man nog veta mer om den klassen du använder.
Om du skulle välja att använda DOM eller simplexml så skulle jag nog kunna klura ut hur du kan göra.
DOM är duktigare på att läsa och tolka html-data och simplexml är smidig på att plocka fram data ur dokumentträdet. Det går även bra att kombinera dessa båda med hjälp av t.ex simplexml_import_dom
 

_________________
R.r - Ett fritt affärssystem
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Visa tidigare inlägg:   
Skapa nytt inlägg   Svara på inlägget
PHPportalen Forum Index » PHP Mjukstart
Hoppa till:  
Du kan inte skapa nya inlägg i det här forumet
Du kan inte svara på inlägg i det här forumet
Du kan inte ändra dina inlägg i det här forumet
Du kan inte ta bort dina inlägg i det här forumet
Du kan inte rösta i det här forumet
Du kan inte bifoga filer i detta forum
Du kan inte ladda ner filer från detta forum
Kontakta oss på adressen: info@phpportalen.net
Webbplatsen bygger i grunden på phpBB © 2001, 2002 phpBB Group

Modifieringar har senare gjorts i systemet av PHPportalen
Sid och logotypdesign skapad av Daren Jularic