folder Tahribat.com Forumları
linefolder Asp - Php - Cgi - Perl
linefolder Php Veri Çekme Sorunu - Chatgpt Çözemiyor



Php Veri Çekme Sorunu - Chatgpt Çözemiyor

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    turkz
    turkz's avatar
    Kayıt Tarihi: 13/Aralık/2009
    Erkek

    Çok basit şekilde verileri çekip yazdırması gerekiyor ama çalışmıyor ve chatgpt bir türlü doğru kodu yazamadı :) Bilenler yazarsa sevinirim.

     

     

    <?php
    $url = 'https://kur.doviz.com/kapalicarsi'; // Verileri çekeceğiniz URL

    // cURL ile HTTP GET isteği yapın
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $response = curl_exec($ch);
    curl_close($ch);

    // Verileri işlemek için uygun bir şekilde analiz edin
    $dom = new DOMDocument();
    libxml_use_internal_errors(true); // Hata mesajlarını görmezden gelmek için
    $dom->loadHTML($response);
    $xpath = new DOMXPath($dom);

    // Tablodaki tüm satırları seçin
    $rows = $xpath->query('//table[@id="indexes"]/tbody/tr');

    // Her satır için değerleri çekin ve yazdırın
    foreach ($rows as $row) {
        $currency = $xpath->query('.//div[@class="currency-details"]/div[1]', $row)->item(0)->nodeValue;
        $buy = $xpath->query('.//td[2]', $row)->item(0)->nodeValue;
        $sell = $xpath->query('.//td[3]', $row)->item(0)->nodeValue;
        $change = $xpath->query('.//td[4]/div', $row)->item(0)->nodeValue;
        $time = $xpath->query('.//td[5]', $row)->item(0)->nodeValue;

        echo "Currency: $currency\n";
        echo "Buy: $buy\n";
        echo "Sell: $sell\n";
        echo "Change: $change\n";
        echo "Time: $time\n";
        echo "\n";
    }
    ?>


    Dünyayı iyiler kurtaracak.
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    motka
    motka's avatar
    Kayıt Tarihi: 28/Ekim/2012
    Erkek
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    turkz
    turkz's avatar
    Kayıt Tarihi: 13/Aralık/2009
    Erkek

    Sonunda yapabildi:


    <?php
    $url = "https://kur.doviz.com/kapalicarsi";

    // Verileri al
    $data = file_get_contents($url);

    // Verileri işle
    $dom = new DOMDocument();
    libxml_use_internal_errors(true);
    $dom->loadHTML($data);
    libxml_clear_errors();
    $xpath = new DOMXPath($dom);

    // Tablodaki satırları seç
    $rows = $xpath->query('//table[@id="indexes"]/tr[position() > 1]');

    // Verileri tutacak bir dizi oluştur
    $veriler = array();

    // Her satır için verileri al ve diziye ekle
    foreach ($rows as $row) {
    $currency = $xpath->query('.//div[@class="currency-details"]/div[1]', $row)->item(0)->nodeValue;
    $buy = $xpath->query('.//td[2]', $row)->item(0)->nodeValue;
    $sell = $xpath->query('.//td[3]', $row)->item(0)->nodeValue;
    $change = $xpath->query('.//td[4]/div', $row)->item(0)->nodeValue;
    $time = $xpath->query('.//td[5]', $row)->item(0)->nodeValue;

    $veriler[] = array(
    'currency' => $currency,
    'buy' => $buy,
    'sell' => $sell,
    'change' => $change,
    'time' => $time
    );
    }
    ?>

    <table class="table">
    <thead>
    <tr>
    <th scope="col">Döviz Cinsi</th>
    <th scope="col">Alış Fiyatı</th>
    <th scope="col">Satış Fiyatı</th>
    <th scope="col">Değişim Oranı</th>
    <th scope="col">Son Güncelleme</th>
    </tr>
    </thead>
    <tbody>
    <?php foreach ($veriler as $veri) { ?>
    <tr>
    <th scope="row"><?php echo $veri['currency']; ?></th>
    <td><?php echo $veri['buy']; ?></td>
    <td><?php echo $veri['sell']; ?></td>
    <td><?php echo $veri['change']; ?></td>
    <td><?php echo $veri['time']; ?></td>
    </tr>
    <?php } ?>
    </tbody>
    </table>


    Dünyayı iyiler kurtaracak.
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    turkz
    turkz's avatar
    Kayıt Tarihi: 13/Aralık/2009
    Erkek
    motka bunu yazdı

    Teşekkürler hocam buna da bakarım.


    Dünyayı iyiler kurtaracak.
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    lazz
    lazz's avatar
    Kayıt Tarihi: 15/Ekim/2007
    Erkek
    turkz bunu yazdı

    Sonunda yapabildi:


    $url = "https://kur.doviz.com/kapalicarsi";

    // Verileri al
    $data = file_get_contents($url);

    // Verileri işle
    $dom = new DOMDocument();
    libxml_use_internal_errors(true);
    $dom->loadHTML($data);
    libxml_clear_errors();
    $xpath = new DOMXPath($dom);

    // Tablodaki satırları seç
    $rows = $xpath->query('//table[@id="indexes"]/tr[position() > 1]');

    // Verileri tutacak bir dizi oluştur...

    buda hatalı galiba hocam index 1 den basladıgı ıcın dolar kurunu almıyor :)

     

    $rows = $xpath->query('//table[@id="indexes"]/tr[position() > 1]'); => $rows = $xpath->query('//table[@id="indexes"]/tr[position() > 0]'); bu sekılde degıstırırsen dolar kurunuda alır

  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    emirhan-exp
    emirhan-exp's avatar
    Kayıt Tarihi: 10/Ocak/2010
    Erkek

    Hocam dom olduğunu hiç bilmiyordum kendim string işlemleri ile veri çekiyordum her ne kadar sen yazmamış da olsan bu kodu öğrendiğimiz iyi oldu.sağol.benim kod 30 satırı :) 

Toplam Hit: 1308 Toplam Mesaj: 6
php chatgpt