Php Script Ειδήσεων για ελεύθερη χρήση. Είναι εφικτό;

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Akis_gr49
Δημοσιεύσεις: 266
Εγγραφή: 07 Ιουν 2007 13:49

Php Script Ειδήσεων για ελεύθερη χρήση. Είναι εφικτό;

Δημοσίευση από Akis_gr49 » 14 Ιούλ 2008 22:23

Λοιπόν παιδιά καλησπέρα και πάλι,
μετά από πολλές προσπάθεις δυσκολεύομαι κάπου..

Έχω το rss.php

Κώδικας: Επιλογή όλων

<?php
$conn=mysql_connect&#40;"localhost", "root", ""&#41;;
mysql_select_db&#40;"test", $conn&#41;;
$details.="<?xml version=\"1.0\" encoding=\"iso-8859-7\"?>
 
            <rss version='0.91'>

               <channel>
<title>Test</title>
                <link>http&#58;//localhost/test.php</link>
                <description>Test</description>
                <language>el</language>";               
         $query="SELECT  name FROM test LIMIT 5";
         $result=mysql_query&#40;$query&#41;;
         
         while&#40;$row=mysql_fetch_array&#40;$result&#41;&#41;
                        &#123;
                           $details.="<item><title>".$row&#91;'name'&#93;."</title></item>";
                        &#125;
                  $details.="</channel></rss>";
echo $details;
 ?>
Και το rss_from_rss.php

Κώδικας: Επιλογή όλων

<?php
$file = 'rss.php';
$stack = array&#40;&#41;;

function startTag&#40;$parser, $name, $attrs&#41;
&#123;
   global $stack;
   $tag=array&#40;"name"=>$name,"attrs"=>$attrs&#41;;  
   array_push&#40;$stack,$tag&#41;;
 
&#125;

function cdata&#40;$parser, $cdata&#41;
&#123;
    global $stack,$i;
   
    if&#40;trim&#40;$cdata&#41;&#41;
    &#123;    
        $stack&#91;count&#40;$stack&#41;-1&#93;&#91;'cdata'&#93;=$cdata;   
    &#125;
&#125;

function endTag&#40;$parser, $name&#41;
&#123;
   global $stack;  
   $stack&#91;count&#40;$stack&#41;-2&#93;&#91;'children'&#93;&#91;&#93; = $stack&#91;count&#40;$stack&#41;-1&#93;;
   array_pop&#40;$stack&#41;;
&#125;

$xml_parser = xml_parser_create&#40;&#41;;
xml_set_element_handler&#40;$xml_parser, "startTag", "endTag"&#41;;
xml_set_character_data_handler&#40;$xml_parser, "cdata"&#41;;

$data = xml_parse&#40;$xml_parser,file_get_contents&#40;$file&#41;&#41;;
if&#40;!$data&#41; &#123;
   die&#40;sprintf&#40;"XML error&#58; %s at line %d",
xml_error_string&#40;xml_get_error_code&#40;$xml_parser&#41;&#41;,
xml_get_current_line_number&#40;$xml_parser&#41;&#41;&#41;;
&#125;

xml_parser_free&#40;$xml_parser&#41;;

print&#40;"<pre>\n"&#41;;
print_r&#40;$stack&#41;;
print&#40;"</pre>\n"&#41;;
?>
Παίρνω αυτό το λάθος
XML error: Invalid document end at line 20

Αν όμως στο rss.php γράψω αυτό σκέτο, δουλεύει μια χαρά δεν βγάζει errors.

Κώδικας: Επιλογή όλων

<?xml version="1.0" encoding="ISO-8859-7"?>
<!DOCTYPE rss PUBLIC "-//Netscape Communications//DTD RSS 0.91//EN"
  "http&#58;//my.netscape.com/publish/formats/rss-0.91.dtd">
<rss version="0.91">

<channel>
 <title>FreeStuff.gr</title>
 <link>http&#58;//www.freestuff.gr/</link>
 <description>FreeStuff.gr</description>
 <language>el</language>

 <item>
  <title>&#214;&#229;&#226;&#241;&#239;&#245;&#220;&#241;&#233;&#239;&#242; 2005 - 6 &#215;&#241;&#252;&#237;&#233;&#225; FreeStuff</title>
  <link>http&#58;//www.freestuff.gr/forums/viewtopic.php?t=13760</link>
 </item>

<item>
  <title>X&#241;&#252;&#237;&#233;&#225; &#208;&#239;&#235;&#235;&#220; &#234;&#225;&#233; &#197;&#245;&#247;&#221;&#242; &#229;&#228;&#254;!</title>
  <link>http&#58;//www.freestuff.gr/forums/viewtopic.php?t=7501</link>
 </item>

<item>
  <title>FreeStuff RSS feed</title>
  <link>http&#58;//www.freestuff.gr/forums/viewtopic.php?t=13751</link>
 </item>

</channel>
</rss> 
Πιθανόν κάποιο πρόβλημα στην σύνταξη υπάρχει..
Αν μπορεί να βοηθήσει κάποιος που έχει φτιάξει ένα τέτοιο scriptaki..

Ευχαριστώ!!

Akis_gr49
Δημοσιεύσεις: 266
Εγγραφή: 07 Ιουν 2007 13:49

Php Script Ειδήσεων για ελεύθερη χρήση. Είναι εφικτό;

Δημοσίευση από Akis_gr49 » 19 Ιούλ 2008 22:54

Κανείς παιδιά;

Άβαταρ μέλους
cordis
Administrator, [F|H]ounder, [C|S]EO
Δημοσιεύσεις: 27622
Εγγραφή: 09 Οκτ 1999 03:00
Τοποθεσία: Greece
Επικοινωνία:

Php Script Ειδήσεων για ελεύθερη χρήση. Είναι εφικτό;

Δημοσίευση από cordis » 28 Ιούλ 2008 13:08

πρέπει να μας δήξεις το παραγόμενο rss. κάνε view source και βάλτο εδώ. ίσως έχεις κάποιο " μέσα στα data σου.
Δεν απαντάω σε προσωπικά μηνύματα με ερωτήσεις που καλύπτονται από τις ενότητες του forum. Για ο,τι άλλο είμαι εδώ για εσάς.
- follow me @twitter

Akis_gr49
Δημοσιεύσεις: 266
Εγγραφή: 07 Ιουν 2007 13:49

Php Script Ειδήσεων για ελεύθερη χρήση. Είναι εφικτό;

Δημοσίευση από Akis_gr49 » 28 Ιούλ 2008 21:36

Δεν έχω άλλο αρχείο.. Τι εννοείς το παραγόμενο rss? στον πίνακα της βάσης μου έχω μόνο 2 εγγραφές
1. nikos
2. mixalis
δεν έχω κάπου "

Άβαταρ μέλους
cordis
Administrator, [F|H]ounder, [C|S]EO
Δημοσιεύσεις: 27622
Εγγραφή: 09 Οκτ 1999 03:00
Τοποθεσία: Greece
Επικοινωνία:

Php Script Ειδήσεων για ελεύθερη χρήση. Είναι εφικτό;

Δημοσίευση από cordis » 28 Ιούλ 2008 22:13

το λάθος XML error: Invalid document end at line 20 που το βλέπεις; στον explorer ή στον firefox.

κάνε ένα view source εκεί και στείλε μας τι γράφει...
Δεν απαντάω σε προσωπικά μηνύματα με ερωτήσεις που καλύπτονται από τις ενότητες του forum. Για ο,τι άλλο είμαι εδώ για εσάς.
- follow me @twitter

Akis_gr49
Δημοσιεύσεις: 266
Εγγραφή: 07 Ιουν 2007 13:49

Php Script Ειδήσεων για ελεύθερη χρήση. Είναι εφικτό;

Δημοσίευση από Akis_gr49 » 28 Ιούλ 2008 22:15

Και στους δύο Browsers στο view source γράφει μόνο αυτό XML error: Invalid document end at line 20

dynoroad
Δημοσιεύσεις: 44
Εγγραφή: 13 Νοέμ 2008 00:09

Php Script Ειδήσεων για ελεύθερη χρήση. Είναι εφικτό;

Δημοσίευση από dynoroad » 28 Ιουν 2010 16:11

Risk έγραψε:Φιλε Giannh,

Απ' ότι έχω καταλάβει από το αρχικό σου post, εσύ αυτό που θες να κάνεις είναι να τραβάς δεδομένα από κάποια βάση και αυτά τα δεδομένα να τα παρουσιάζεις με τη μορφή rss. Το παραπάνω λοιπόν script κάνει ακριβώς αυτή την δουλειά.

Τώρα αν εσύ θεσ να τραβάς δεδομένα από ένα xml (rss) αρχείο τότε αυτό είναι άλλο πράγμα. Σε αυτήν την περίπτωση θα πρέπει να ψάξεις για xml parse, αρχίζοντας από εδώ

Καλησπέρα και απο εμένα.

Έψαξα λίγο αυτό που αναφέρεις περί parser αλλά δυστηχώς δεν έχω βγάλει κάποια άκρη.

Θα ήθελα να σας ρωτήσω λοιπόν αν έχω κάποιο αρχείο php όπως στο παράδειγμα πριν που τραβάμε δεδομένα απο μία βάση και τα φτιάχνουμε σε δομή xml, πως μπορούμε αυτά τα αποτελέσματα να τα εμφανίσουμε..

Σας ευχαριστώ εκ των πρωτέρων.

Άβαταρ μέλους
burnmind
Script Master
Δημοσιεύσεις: 954
Εγγραφή: 26 Σεπ 2009 02:14
Τοποθεσία: UK
Επικοινωνία:

Php Script Ειδήσεων για ελεύθερη χρήση. Είναι εφικτό;

Δημοσίευση από burnmind » 28 Ιουν 2010 16:55

dynoroad έγραψε:Θα ήθελα να σας ρωτήσω λοιπόν αν έχω κάποιο αρχείο php όπως στο παράδειγμα πριν που τραβάμε δεδομένα απο μία βάση και τα φτιάχνουμε σε δομή xml, πως μπορούμε αυτά τα αποτελέσματα να τα εμφανίσουμε..
Για να κάνεις parse δεδομένα από xml (απ' ότι καταλαβαίνω αυτό θες), μπορείς να χρησιμοποιήσεις την SimpleXML.

ΥΓ: Wow, το τελευταίο μήνυμα στο θέμα που "ξέθαψες" είναι ακριβώς 2 χρόνια πριν! :P

dynoroad
Δημοσιεύσεις: 44
Εγγραφή: 13 Νοέμ 2008 00:09

Php Script Ειδήσεων για ελεύθερη χρήση. Είναι εφικτό;

Δημοσίευση από dynoroad » 28 Ιουν 2010 19:45

Στα παραδείγματα όμως που αναγράφονται κάτω απο τις εντολές όλοι χρησιμοποιούν αρχεία .xml. Στο παράδειγμα όμως που υπάρχει στην πρώτη σελίδα αυτού του topic αναφέρεται σε .php αρχεία. Πώς θα μπορέσω δηλαδή δεδομένα σε μορφή xml που υπάρχουν μέσα σε php να τα εμφανίσω?

Αν δεν πολυκαταλαβαίνεται τι εννοώ κοιτάξτε το παράδειγμα του Akis_gr49.

Άβαταρ μέλους
burnmind
Script Master
Δημοσιεύσεις: 954
Εγγραφή: 26 Σεπ 2009 02:14
Τοποθεσία: UK
Επικοινωνία:

Php Script Ειδήσεων για ελεύθερη χρήση. Είναι εφικτό;

Δημοσίευση από burnmind » 28 Ιουν 2010 20:15

dynoroad έγραψε:Στα παραδείγματα όμως που αναγράφονται κάτω απο τις εντολές όλοι χρησιμοποιούν αρχεία .xml. Στο παράδειγμα όμως που υπάρχει στην πρώτη σελίδα αυτού του topic αναφέρεται σε .php αρχεία. Πώς θα μπορέσω δηλαδή δεδομένα σε μορφή xml που υπάρχουν μέσα σε php να τα εμφανίσω?

Κώδικας: Επιλογή όλων

$buffer = "<?xml version="1.0" ?>";
$buffer .= '<whatever>';
$buffer .= '<message>hello</message>';
$buffer .= '</whatever>';

$xml = new SimpleXMLElement&#40;$buffer&#41;;
$message = $xml->message;
echo $message;

dynoroad
Δημοσιεύσεις: 44
Εγγραφή: 13 Νοέμ 2008 00:09

Php Script Ειδήσεων για ελεύθερη χρήση. Είναι εφικτό;

Δημοσίευση από dynoroad » 30 Ιουν 2010 16:20

Κώδικας: Επιλογή όλων

<?php
$link = mysql_connect&#40;$host, $user, $pass&#41; or die&#40;"Could not connect to host."&#41;; 
mysql_select_db&#40;$database, $link&#41; or die&#40;"Could not find database."&#41;; 

$query = "SELECT * FROM rooms_reserved"; 
$result = mysql_query&#40;$query, $link&#41; or die&#40;"Data not found."&#41;; 


$buffer = "<?xml version=\"1.0\" ?>";
$buffer .= '<entries>'; 
while&#40;$row=mysql_fetch_assoc&#40;$result&#41;&#41;
&#123; 
$buffer .= '<entry>'; 
$buffer .= '<date>' . $row&#91;'idx'&#93; . '</date>\n'; 
$buffer .= '</entry>'; 
&#125;
$buffer .= '</entries>'; 
$xml = new SimpleXMLElement&#40;$buffer&#41;; 
$message = $xml->message; 
echo $message; 



?>
Για να καταλάβαιτε πιο πάνω παραθέτω τον κώδικα τον οποίο έγραψα με τις εντολές που μου είπες.

Μετά απο αυτό μου εμφανίζει σφάλμα στην γραμμή "$xml = new SimpleXMLElement($buffer); "... Αυτον τον κώδικα που παραθέτω πιο πάνω πώς γίνεται να το καλώ μέσα απο μία άλλη σελίδα και να μου εμφανίζει το παραγόμενο αποτέλεσμα xml σε php ??

Άβαταρ μέλους
burnmind
Script Master
Δημοσιεύσεις: 954
Εγγραφή: 26 Σεπ 2009 02:14
Τοποθεσία: UK
Επικοινωνία:

Php Script Ειδήσεων για ελεύθερη χρήση. Είναι εφικτό;

Δημοσίευση από burnmind » 30 Ιουν 2010 16:57

dynoroad έγραψε: Για να καταλάβαιτε πιο πάνω παραθέτω τον κώδικα τον οποίο έγραψα με τις εντολές που μου είπες.

Μετά απο αυτό μου εμφανίζει σφάλμα στην γραμμή "$xml = new SimpleXMLElement($buffer); "... Αυτον τον κώδικα που παραθέτω πιο πάνω πώς γίνεται να το καλώ μέσα απο μία άλλη σελίδα και να μου εμφανίζει το παραγόμενο αποτέλεσμα xml σε php ??
Θέλω να σε βοηθήσω, αλλά δε με βοηθάς κι εσύ! :)

Εξήγησέ μου ακριβώς τι θέλεις να κάνεις. Το τελικό αποτέλεσμα εννοώ.

Θέλεις ο χρήστης να βλέπει xml στον browser του; Αν ναι, βάλτο όλο αυτό που έγραψες (χωρίς το $xml και κάτω) σε μία σελίδα και αν κάνεις echo $buffer; θα σου εμφανίσει την xml..

Θέλεις να το καλέσεις κάπου αλλού και να το κάνεις ό,τι θες εκεί; Βάλτο όλο (ξανά χωρίς τις 3 τελευταίες γραμμές) σε μία function, βάλε return $buffer; στο τέλος και κάλεσε τη function.

Η SimpleXMLElement χρησιμοποιείται όταν θέλεις να πάρεις/διαβάσεις (πεσ' το όπως θες) ένα (ή περισσότερα) field(s) από το xml document σου (είτε αυτό το παίρνεις από αρχείο, είτε από url, είτε το δημιουργείς μόνος σου), άρα μάλλον δε σου χρειάζεται. Όπως και να'χει, όταν λες "μου εμφανίζει error", γράψε και το error που σου εμφανίζει γιατί κανείς δεν είναι μάντης για να ξέρει ποιο είναι το πρόβλημα! :P

dynoroad
Δημοσιεύσεις: 44
Εγγραφή: 13 Νοέμ 2008 00:09

Php Script Ειδήσεων για ελεύθερη χρήση. Είναι εφικτό;

Δημοσίευση από dynoroad » 01 Ιούλ 2010 14:09

Ναι όντως έχεις απόλυτο δίκιο... Όταν ξαναδιάβασα αυτό που έγραψα ούτε και εγώ έβγαλα σαφή συμπερασματα. Απο την επόμενη φορά θα είμαι πιο σαφείς.

Έκανα αυτό που μου είπες και όλα οκ. Υπερπολύτιμη η βοήθειά σου. Αλλά όταν εμφανίζω την σελίδα μου δείχνει όλο τον κώδικα. Δηλαδή βάζω το echo $buffer όπως μου είπες αλλά το αποτέλεσμα που παίρνω είναι το εξής :

<?xml version="1.0" ?>
- <entries>
- <entry>
<date>99</date>
</entry>
</entries>

Υπάρχει τρόπος να μην μου εμφανίζεται ο κώδικας? Μήπως έχει να κάνει με το ότι πρέπει στον κώδικα μου να παραθέσω κάποιο αρχείο css?

Άβαταρ μέλους
burnmind
Script Master
Δημοσιεύσεις: 954
Εγγραφή: 26 Σεπ 2009 02:14
Τοποθεσία: UK
Επικοινωνία:

Php Script Ειδήσεων για ελεύθερη χρήση. Είναι εφικτό;

Δημοσίευση από burnmind » 01 Ιούλ 2010 15:55

dynoroad έγραψε:Ναι όντως έχεις απόλυτο δίκιο... Όταν ξαναδιάβασα αυτό που έγραψα ούτε και εγώ έβγαλα σαφή συμπερασματα. Απο την επόμενη φορά θα είμαι πιο σαφείς.

Έκανα αυτό που μου είπες και όλα οκ. Υπερπολύτιμη η βοήθειά σου. Αλλά όταν εμφανίζω την σελίδα μου δείχνει όλο τον κώδικα. Δηλαδή βάζω το echo $buffer όπως μου είπες αλλά το αποτέλεσμα που παίρνω είναι το εξής :

<?xml version="1.0" ?>
- <entries>
- <entry>
<date>99</date>
</entry>
</entries>

Υπάρχει τρόπος να μην μου εμφανίζεται ο κώδικας? Μήπως έχει να κάνει με το ότι πρέπει στον κώδικα μου να παραθέσω κάποιο αρχείο css?
Ο κώδικας κάνει αυτό που ζήτησες
να μου εμφανίζει το παραγόμενο αποτέλεσμα xml σε php
Δυστυχώς ούτε και πάλι γίνεσαι σαφής. Τι θέλεις να εμφανίσεις; Όλο τον κώδικα; Μόνο το 99; Ακόμα δε μου είπες! :lol:

Θα μαντέψω πως θέλεις μόνο το 99, το date δηλαδή. Την απάντηση στην έχω δώσει από πριν. Βγάλε το echo $buffer από το τέλος και πρόσθεσε:

Κώδικας: Επιλογή όλων

$xml = new SimpleXMLElement&#40;$buffer&#41;; 
$date = $xml->entry->date; 
echo $date;
Αυτό, θα σου εμφανίσει: 99. Αν δε δουλεύει (που δουλεύει γιατί μόλις το δοκίμασα), γράψε το error που βγάζει!

dynoroad
Δημοσιεύσεις: 44
Εγγραφή: 13 Νοέμ 2008 00:09

Php Script Ειδήσεων για ελεύθερη χρήση. Είναι εφικτό;

Δημοσίευση από dynoroad » 01 Ιούλ 2010 16:26

Όλα οκ... Αυτό που εννοούσα ήταν πως μπορούσα να εμφανίσω το αποτέλεσμα σε μορφή xml. Δηλαδή με χρώματα κτλ. Αλλά οκ.. Πρόσθεσα στην αρχή ένα αρχείο css και όλα δουλεύουν ρολόι..

Σε ευχαριστώ πολύ για την βοήθειά σου. Αν κ θα πρέπει να με εχει πειράξει λίγο η ζέστη γιατί τώρα τελευταία δεν με καταλαβαίνουν και αλλοι... :lol:

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες