Προς το περιεχόμενο

Θέμα με PHP


thiva7

Προτεινόμενες αναρτήσεις

 
ΤΙ φτιάχνω
 
ένα απλό σκριπτ για αναζήτηση ταινιών να δείχνει trailer κτλπ , βαζωντας απλα το λινκ μιας ταινιας απο το IMBD παίρνει όλες της πληροφορίες .
 
τι έχω καταφέρει
 
όλα δουλεύουν οκ ( για το επίπεδο μου ) και δεν ξέρω να κάνω τα εξής
 
σε php table πως το κάνω να φαίνεται κάθετα και όχι οριζόντια? θα χρειαστώ όπως δήποτε  css? 
 
Ο κώδικας είναι αυτός

 

 

 

echo "<table border='1'>
<tr>
<th>Title</th>
<th>Movie Desc</th>
<th>Genre</th>
<th>Cover</th>
</tr>";


while($row = mysqli_fetch_array($result)) {
  echo "<tr>";
   echo  "<td><a href=\"//localhost/search/search.php?keyname={$row['title']} \">{$row['title']}</a></td>";
    echo "<td>" . $row['desc'] . "</td>";
  echo "<td>" . $row['genre'] . "</td>";
  $title = "{$row['title']}";
  $title = urlencode($title);
 $json=file_get_contents("http://www.omdbapi.com/?t=$title&");
 $details=json_decode($json);
 if($details->Response=='True'){
  echo "<td> <img src=\"$details->Poster\"  width=\"170\" height=\"250\"> </td>";
 
 }

 
 echo "</tr>";
 
}

echo "</table>";

 

 

 

 

ένα άλλο πρόβλημα που έχω είναι οτι κάποιοι τίτλοι από το Imbd δεν καταχωρούνται στη βάση δεδομένων

 

βάζω το λινκ απο το IMDB για να πάρει της πληροφορίες για την ταινία και σε καποια απλα δεν τα καταχωρεί

 

ΠΧ http://www.imdb.com/title/tt0486576/δεν καταχωρείτε με τίποτα ο τίτλος κτλπ 

 

η καταχώρηση γίνετε με αυτό το κωδικά

 

 

$imdb=$_POST['imdb_link'];
include ('../include/db.php');

include_once '../imdb.class.php';



$oIMDB = new IMDB($imdb);


//This gets all the other information from the form
$name= $oIMDB->getTitle() ;

$desc= $oIMDB->getDescription() ;
$video=$oIMDB->getGenre() ;

//Writes the information to the database
mysql_real_escape_string(mysqli_query($con ,"INSERT INTO `movies` VALUES ('id','$name', '$imdb', '$desc', '$video')")) ;

 

 

Ευχαριστώ

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

1) Δεν είναι php table αλλά html table. Τι εννοείς "κάθετα και όχι οριζόντια";

 

2) Νομίζω ότι πρέπει να ξαναδιαβάσεις για τη χρήση της mysql_real_escape_string().

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

1) Δεν είναι php table αλλά html table. Τι εννοείς "κάθετα και όχι οριζόντια";

 

2) Νομίζω ότι πρέπει να ξαναδιαβάσεις για τη χρήση της mysql_real_escape_string().

 

1) Να σε καλά για την απάντηση , αυτο που εννοώ ειναι οτι πχ άμα αφήσω μόνο ένα echo (   $title = "{$row['title']}"; )

θα τα δείξει ολα κάθετα...πως μπορώ να το κάνω οριζόντια ? θέλω div css κτλπ  γιαυτό?

 

2) ναι το εκανα αλλα χωρις αποτελεσμα :(

 

mysql_real_escape_string(mysqli_query($con ,"INSERT INTO `movies` VALUES ('id','$name', '$imdb', '$desc', '$video')")) ;

 

είναι λάθος? δοκίμασα να το βάλω σε κάθε variable ξεχωριστά αλλά δεν είχε αποτέλεσμα

 

σορρυ για το πολύ νουμπ άλλα προσπαθώ να μάθω.

 

ευχαριστώ

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

1) Δεν καταλαβαίνω. Αν αφήσεις μόνο ένα echo $row['title']; (μέσα στο while εννοείται) θα σου δείξει όλους τους τίτλους τον ένα δίπλα στον άλλο. Που είναι το "κάθετα";

 

2) Η mysql_real_escape_string() παίρνει όρισμα string, εσύ προσπαθείς να της δώσεις resource. Όχι ότι φταίει αυτό για το πρόβλημά σου, αλλά η χρήση είναι λάθος.

 

Βάλε στην αρχή του script σου:

ini_set('display_errors',1);
error_reporting(E_ALL);
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

 

1) Δεν καταλαβαίνω. Αν αφήσεις μόνο ένα echo $row['title']; (μέσα στο while εννοείται) θα σου δείξει όλους τους τίτλους τον ένα δίπλα στον άλλο. Που είναι το "κάθετα";

 

2) Η mysql_real_escape_string() παίρνει όρισμα string, εσύ προσπαθείς να της δώσεις resource. Όχι ότι φταίει αυτό για το πρόβλημά σου, αλλά η χρήση είναι λάθος.

 

Βάλε στην αρχή του script σου:

ini_set('display_errors',1);
error_reporting(E_ALL);

 

$row['title']; το βρήκα στο νετ και το έχω για να πάρει το τίτλο κτλπ απο τι βάση , αν θέλω να πάρω από τι βάση και να τα δείχνω αλλιώς?

 

 

 

οσο για το mysql_real_escape_string() το έκανα να δουλέψει τελικά μετά από προσπάθειες , οχι πολυ σωστα αλλα ειναι μια αρχη

 

εκανα αυτο

 

$name= mysql_real_escape_string($oIMDB->getTitle()) ;     

$desc= mysql_real_escape_string($oIMDB->getDescription()) ;

 $video = mysql_real_escape_string($oIMDB->getGenre());

 

και λέω οχι πολύ σωστά

πχ στην ταινία : Fantastic Four: Rise of the Silver Surfer

 

σαν τίτλο αποθηκεύει

4: Rise of the Silver Surfer

 

 

Εάν με κάθετα εννοείς σε νέα γραμμή, τότε χρησιμοποίησε το PHP_EOL. 

Ευχαριστώ θα αρχίσω το ψάξιμο για τι χρήση του να σε καλά

 

Το mysql_real_escape_string() πρώτον χρησιμοποιείτε λάθος και δεύτερων δε χρειάζεται στη mysqli 

 

το έβαλα γιατί μου έβγαζε ερρορ use mysqli or PDO instead

 

Ευχαριστώ

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

$row['title']; το βρήκα στο νετ και το έχω για να πάρει το τίτλο κτλπ απο τι βάση , αν θέλω να πάρω από τι βάση και να τα δείχνω αλλιώς?

 

Για να υπάρχει το $row['title'] πάει να πει ότι τα έχεις ήδη πάρει από τη βάση (ή τουλάχιστον αυτό πρέπει να υποθέσουμε).

Αλλά το "πως αλλιώς θέλεις να τα δείχνεις" δεν έχω καταλάβει.

 

οσο για το mysql_real_escape_string() το έκανα να δουλέψει τελικά μετά από προσπάθειες , οχι πολυ σωστα αλλα ειναι μια αρχη

 

εκανα αυτο

 

$name= mysql_real_escape_string($oIMDB->getTitle()) ;     

$desc= mysql_real_escape_string($oIMDB->getDescription()) ;

 $video = mysql_real_escape_string($oIMDB->getGenre());

 

και λέω οχι πολύ σωστά

πχ στην ταινία : Fantastic Four: Rise of the Silver Surfer

 

σαν τίτλο αποθηκεύει

4: Rise of the Silver Surfer

Ξέχνα τελείως την mysql_real_escape_string και αφού ούτως ή άλλως χρησιμοποιείς mysqli, κάντο με prepared statements.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

 

Για να υπάρχει το $row['title'] πάει να πει ότι τα έχεις ήδη πάρει από τη βάση (ή τουλάχιστον αυτό πρέπει να υποθέσουμε).

Αλλά το "πως αλλιώς θέλεις να τα δείχνεις" δεν έχω καταλάβει.

 

Ξέχνα τελείως την mysql_real_escape_string και αφού ούτως ή άλλως χρησιμοποιείς mysqli, κάντο με prepared statements.

Μισό να ρωτήσω κάτι μιας και το θέμα είναι να μαθαίνω και κατι, δηλαδή mysql_real_escape_string και mysqli δεν πάνε μαζί?

 

ευχαριστώ

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δεν είναι φτιαγμένα για να πάνε μαζί.

Άλλη η φιλοσοφία του mysql_* sxtension, άλλη του mysqli_* (και άλλη του PDO).

Να σε καλά ευχαριστώ

 

με τα αποτελέσματα της αναζήτησης τελικά τι μπορώ να κάνω?

εννοώ αυτη τι στιγμή με το κωδικά που έχει μου βγάζει τα αποτελέσματα ως εξής

 

εικονα

τιτλος

 

εικονα

τιτλος

κοκ

 

πως μπορω αλλαξω αυτο?

 

θελω κατι τετοιο να κανω

 

ΕΙΚΟΝΑ      ΕΙΚΟΝΑ    ΕΙΚΟΝΑ

τιτλος                      τιτλος                 τιτλος

 

 

κατάλαβες πως το εννοώ?

 

είναι κάτι πέρα απο της δυνατότητες μου, για κατι που θα μάθω αργότερα ?να το παρατήσω προς το παρόν?

 

Ευχαριστω

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Να σε καλά ευχαριστώ

 

με τα αποτελέσματα της αναζήτησης τελικά τι μπορώ να κάνω?

εννοώ αυτη τι στιγμή με το κωδικά που έχει μου βγάζει τα αποτελέσματα ως εξής

 

εικονα

τιτλος

 

εικονα

τιτλος

κοκ

Με τον κώδικα που έχεις βάλει στην αρχή (<table>) είναι βέβαιο ότι δεν σου τα βγάζει έτσι.

 

πως μπορω αλλαξω αυτο?

 

θελω κατι τετοιο να κανω

 

ΕΙΚΟΝΑ      ΕΙΚΟΝΑ    ΕΙΚΟΝΑ

τιτλος                      τιτλος                 τιτλος

 

 

κατάλαβες πως το εννοώ?

 

είναι κάτι πέρα απο της δυνατότητες μου, για κατι που θα μάθω αργότερα ?να το παρατήσω προς το παρόν?

 

Ευχαριστω

Στη θέση σου δεν θα χρησιμοποιούσα table αλλά πχ ul, με το ανάλογο css.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

οκ ευχαριστώ κάτι τέτοιο έψαχνα . αλλα πως θα "σπασω¨" τα αποτελεσματα εκει μεσα?

 

εγω εβαλα αυτο για UL

 

<ul class='catalog'>
    <li class='item'>
       <img src='<?php echo $pic; ?>' width="32" height="32" />
                <p class='details'><?php  echo  $link2 ; ?> </p>
    </li>
    <li class='item'>
        <img src='<?php echo $pic; ?>'/>
        <p class='details'><?php  echo  $link2 ; ?></p>
    </li>
    <li class='item'>
        <img src='<?php echo $pic; ?>'/>
        <p class='details'><?php echo $title; ?> </p>
    </li>
</ul>

 

άλλα στα αποτελέσματα της αναζήτησης επαναλαμβανη την ιδια ταινια και την ID 3 φορες.

ενω εγω θα ηθελα να εμφανηζη τα παντα με την αναζητηση πχ του " ΤΗΕ"  και να εμφανηση αν υπαρχει ακομα και 1κ τετοια UL....

 

στην ουσια δεν χρειαζομαι αυτο το UL μια φορα μεσα στο

 

if(mysqli_num_rows($results) >= 0)
{
    $output = "";
    
    while($row = mysqli_fetch_array($results))
    
    {

ΕΔΩ ΜΕΣΑ

}

 

για να επαναλαμβάνει το UL? βλακείες λέω?

 

 

 

search.php

 

 

<?php

//capture search term and remove spaces at its both ends if the is any
$searchTerm = trim($_GET['keyname']);

//check whether the name parsed is empty
if($searchTerm == "")
{
    echo "Enter name you are searching for.";
    exit();
}


include ('include/db.php');
//connecting to server and creating link to database
$link = mysqli_connect($host, $user, $pwd, $db);

//MYSQL search statement
$query = "SELECT * FROM movies WHERE title LIKE '%$searchTerm%' ORDER BY id";

$results = mysqli_query($link, $query);

/* check whethere there were matching records in the table
by counting the number of results returned */
if(mysqli_num_rows($results) >= 1)
{
    $output = "";
    while($row = mysqli_fetch_array($results))
    {
    $imdb = $row['imdb_link'] ;
    $title = "{$row['title']}";
    $desc = $row['desc'] ;
    $poster = "{$row['poster']}";
    $pic = " posters/$poster.jpg ";
    $url = $_SERVER['SERVER_NAME'];
    $link2 = "<a href=\"//$url/search/video2.php?id={$row['id']} \">{$row['title']}</a>";
    
    
    

        
    }
    
}
else
    echo "There was no matching record for the name " . $searchTerm;
?>

 

//εδω κάτω ειναι το UL άλλα δεν το βάζω στο ποστ γιατί χαλάει τι σελίδα

ΤΟ UL ΕΙΝΑΙ ΕΔΩ

 

 

 

 

Ευχαριστω

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Βάζε τον κώδικά σου σε code tags ώστε να είναι πιο ευανάγνωστος.

 

Στο προκείμενο, δεν θέλεις να επαναλαμβάνεται το ul, αλλά τα li μέσα στο ul.

<?php

//capture search term and remove spaces at its both ends if the is any
$searchTerm = trim($_GET['keyname']);

//check whether the name parsed is empty
if($searchTerm == "")
{
    echo "Enter name you are searching for.";
    exit();
}


include ('include/db.php');
//connecting to server and creating link to database
$link = mysqli_connect($host, $user, $pwd, $db);

//MYSQL search statement
$query = "SELECT * FROM movies WHERE title LIKE '%$searchTerm%' ORDER BY id";

$results = mysqli_query($link, $query);

/* check whethere there were matching records in the table
by counting the number of results returned */
if(mysqli_num_rows($results) >= 1)
{
?>

<ul class='catalog'>
  <?php while($row = mysqli_fetch_array($results)): ?>
    <li class='item'>
      <img src="posters/<?php echo $row['poster']; ?>.jpg"/>
      <p><a href="<?php echo $row['imdb_link']; ?>"><?php echo $row['title']; ?></a></p>
    </li>
  <?php endwhile; ?>
</ul>

<?php
}
else
    echo "There was no matching record for the name " . $searchTerm;
?>
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

 

Βάζε τον κώδικά σου σε code tags ώστε να είναι πιο ευανάγνωστος.

 

Στο προκείμενο, δεν θέλεις να επαναλαμβάνεται το ul, αλλά τα li μέσα στο ul.

<?php

//capture search term and remove spaces at its both ends if the is any
$searchTerm = trim($_GET['keyname']);

//check whether the name parsed is empty
if($searchTerm == "")
{
    echo "Enter name you are searching for.";
    exit();
}


include ('include/db.php');
//connecting to server and creating link to database
$link = mysqli_connect($host, $user, $pwd, $db);

//MYSQL search statement
$query = "SELECT * FROM movies WHERE title LIKE '%$searchTerm%' ORDER BY id";

$results = mysqli_query($link, $query);

/* check whethere there were matching records in the table
by counting the number of results returned */
if(mysqli_num_rows($results) >= 1)
{
?>

<ul class='catalog'>
  <?php while($row = mysqli_fetch_array($results)): ?>
    <li class='item'>
      <img src="posters/<?php echo $row['poster']; ?>.jpg"/>
      <p><a href="<?php echo $row['imdb_link']; ?>"><?php echo $row['title']; ?></a></p>
    </li>
  <?php endwhile; ?>
</ul>

<?php
}
else
    echo "There was no matching record for the name " . $searchTerm;
?>

Σε ευχαριστω πολυ!!

 

όντως πρέπει να βάζω ταγσ άπλα επειδή συνεχεία αλλάζω πράματα δεν κάθισα να το κάνω :)

 

http://thiva7.byethost14.com/index.php

 

αυτό έχω κάνει μέχρι τώρα...δεν είναι κάτι τρομερό εννοείτε άλλα τουλάχιστον με έκανε να ασχοληθώ :)

 

αλλά μπορείς να μου εξηγήσεις κάτι πλσ

 

εδω

 

http://thiva7.byethost14.com/admin/addmovie.php

 

βάζω λινκ από imdb και καταχωρεί τίτλο είδος κτλπ, σε ολα σχεδόν τα λινκ δεν έχω κανένα θέμα ολα  δουλεύουν κομπλέ 

αλλα σε κανα δυο λινκ μου εβγαλε αυτο το μνμ

 

Notice: Undefined property: stdClass::$imdbID in /home/vol15_1/byethost14.com/b14_15145421/htdocs/admin/add.php on line 27

 

Notice: Undefined property: stdClass::$Poster in /home/vol15_1/byethost14.com/b14_15145421/htdocs/admin/add.php on line 28

 

πχ www.imdb.com/title/tt0815236/

 

και δεν περνει την εικονα

 

γιατι οχι σε ολα και σε μερικα το κανει? το class για το IMDB το δοκιμασα με απλο αρχειο και δεν εβγαλε ερορ για τα ιδια λινκ ¨/

 

Ευχαριστω

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...