Jump to content



ΣΥΝΔΕΣΗ PHP ME HTML


dimitra2024

Recommended Posts

ΩΡΑΙΑ.ΚΑΤΩ ΑΠΟ ΤΗ ΣΥΝΔΕΣΗ ΤΙ ΘΑ ΓΡΑΨΩ?

Μία παρατήρηση ακόμα, σε παρακαλώ μην γράφεις με ΚΕΦΑΛΑΙΑ, τα κεφαλαία είναι στον γραπτό λόγο ΣΑΝ ΝΑ ΦΩΝΑΖΕΙΣ και είναι δυσανάγνωστα.

 

Ευχαριστώ :)

  • Replies 49
  • Created
  • Last Reply

Τελικά εγώ θα την γράψω την εργασία ή εσύ? :p

 

Έστω ότι είμαστε στην πρώτη περίπτωση

<table class="foithtes_table"><thead><td>Αριθμός Πτυχίου</td><td>Επώνυμο</td><td>Όνομα</td><td>Όνομα Πατρός</td><td>Τόπος Γέννησης</td><td>Ημ/νία Αποφοίτησης</td></thead><?phptry {    $db = new PDO('mysql:host=localhost;dbname=foithtes', $user, $pass);    $query="SELECT arithmos_ptuxiou,epwnumo,onoma,onoma_patera,topos_gennhshs,date_apofoithshs FROM ptuxiouxoi";    $cond = array();    $params = array();    if (!empty($_POST["epwnumo"]))    {     $cond[] = "epwnumo = ?";     $params[] = $_POST["epwnumo"];    }    if (count($cond)) {      $query .= ' WHERE ' . implode(' AND ', $cond);   }   $stmt = $db->prepare($query);   $stmt->execute($params);   foreach ($stmt->fetchAll(PDO::FETCH_ASSOC) as $row) {     echo '<tr>';     echo "<td>{$row->arithmos_ptuxiou}</td>";     echo "<td>{$row->epwnumo}</td>";     echo "<td>{$row->onoma}</td>";     echo "<td>{$row->onoma_patera}</td>";     echo "<td>{$row->topos_gennhshs}</td>";     echo "<td>{$row->date_apofoithshs}</td>";     echo '</tr>';    }    $db = null;} catch (PDOException $e) {    print "Error!: " . $e->getMessage() . "<br/>";    die();}?></table>

Για δοκίμασε να βάλεις το παραπάνω μέσα στην σελίδα που σου δείχνει τα αποτελέσματα. Αντικατέστησε ότι έχει μέσα ήδη. Μετά πήγαινε στην αναζήτηση και γράψε κάτι στο επώνυμο και δες αν σου δείχνει αποτελέσματα.

Δεν μου δείχνει αποτελέσματα.Μόνο την πρώτη γραμμή μου εμφανίζει με τα παρακάτω.Αριθμός Πτυχίου,Επώνυμο,Όνομα,Όνομα Πατρός,Τόπος Γέννησης,Ημ/νία Αποφοίτησης.

Κάτι άσχετο,για να μην παρεξηγηθώ,το ΤΕΙ μου είναι  Διοίκηση Επιχειρήσεων και ενώ το μόνο που μου έχουνε διδάξει είναι phpmyadmin ,μου έτυχε αυτή η πτυχιακή και δεν έχω ιδέα. 

Δεν εμφανίζει κάποιο error? Παρέλειψα να σου πω ότι πρέπει στην παρακάτω γραμμή

$db = new PDO('mysql:host=localhost;dbname=foithtes', $user, $pass);

Να βάλεις στις θέσεις των $user,$pass το username και το password του χρήστη που χρησιμοποιείς για να συνδεθείς με την βάση. Επίσης ο mysql server τρέχει τοπικά στον υπολογιστή σου ή κάπου αλλού?

 

Έτσι θέλεις να είναι η φόρμα αναζήτησης?

 

post-34231-0-70430500-1417722290_thumb.j

 

Όταν πατάω αναζήτηση εγώ βλέπω αυτό (μιας και δεν έχω εγκατεστημένη MySQL)

 

post-34231-0-21929500-1417722314_thumb.j

Error!: SQLSTATE[HY000] [2002] No connection could be made because the target machine actively refused it.

Εσένα δεν σου βγάζει κάποιο μύνημα λάθους?

Όχι δεν μου βγάζει λάθος.Μόνο το πινακάκι που σου εμφανίζει κ εσένα στο τέλος.πες μου σε παρακαλώ πώς εμφανίζεις εικόνες εδώ?Τι γράφουμε στο URL?

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

 

Σημείωση κάνει αναζήτηση στο επώνυμο σίγουρα βάζεις στην φόρμα στο πεδίο επώνυμο κάποιο επώνυμο που υπάρχει στην βάση?

 

EDIT:

 

Για δοκίμασε μία το παρακάτω

   foreach ($stmt->fetchAll(PDO::FETCH_ASSOC) as $row) {     echo '<tr>';     echo "<td>{$row['arithmos_ptuxiou']}</td>";     echo "<td>{$row['epwnumo]'}</td>";     echo "<td>{$row['onoma']}</td>";     echo "<td>{$row['onoma_patera']}</td>";     echo "<td>{$row['topos_gennhshs']}</td>";     echo "<td>{$row['date_apofoithshs']}</td>";     echo '</tr>';    }

Αντικατέστησε το ανάλογο κομμάτι στην σελίδα που σου δείχνει τα αποτελέσματα.

 Σου στέλνω ακριβώς τι γράφω(μου βγάζει error το κοκκινισμένο με το μήνυμα: Parse error: syntax error, unexpected '}', expecting ']' in C:\xampp\htdocs\searchresults.php on line 503):<html>
<body>
<table class="foithtes">

<thead>

<td>Αριθμός Πτυχίου</td>

<td>Επώνυμο</td>

<td>Όνομα</td>

<td>Όνομα Πατρός</td>

<td>Τόπος Γέννησης</td>

<td>Ημ/νία Αποφοίτησης</td>

</thead>

<?php

try {
    $db = new PDO('mysql:host=localhost;dbname=foithtes', 'user', 'pass');
    $query="SELECT arithmos_ptuxiou,epwnumo,onoma,onoma_patros,topos_gennhshs,date_apofoithshs FROM foithtes";

    $cond = array();
    $params = array();

    if (!empty($_POST["epwnumo"]))
    {
     $cond[] = "epwnumo = ?";
     $params[] = $_POST["epwnumo"];
    }

    if (count($cond)) {
      $query .= ' WHERE ' . implode(' AND ', $cond);
   }

   $stmt = $db->prepare($query);
   $stmt->execute($params);

   foreach ($stmt->fetchAll(PDO::FETCH_ASSOC) as $row) {
     echo '<tr>';
     echo "<td>{$row['arithmos_ptuxiou']}</td>";
     echo "<td>{$row['epwnumo]'}</td>";
     echo "<td>{$row['onoma']}</td>";
     echo "<td>{$row['onoma_patera']}</td>";
     echo "<td>{$row['topos_gennhshs']}</td>";
     echo "<td>{$row['date_apofoithshs']}</td>";
     echo '</tr>';
    }

    $db = null;
 catch (PDOException $e) {
    print "Error!: " . $e->getMessage() . "<br/>";
    die();
}
?>

</table>
</body>
</html>

Έκανα λάθος εγώ.Τώρα μου εμφανίζει αυτό:attachicon.gif6..png

Περίμενε κάτι γίνεται

πώς να δηλώσω οτι χρησιμοποιώ utf8?

 

Έκανα λάθος εγώ.Τώρα μου εμφανίζει αυτό:post-64271-0-72280000-1417728705_thumb.p

Περίμενε κάτι γίνεται

πώς να δηλώσω οτι χρησιμοποιώ utf8?post-64271-0-17079400-1417730182_thumb.p

Για utf-8 αλλάζεις το παρακάτω

$db = new PDO('mysql:host=localhost;dbname=foithtes', 'user', 'pass');

σε

$db = new PDO('mysql:host=localhost;dbname=foithtes', 'user', 'pass', array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));

Moυ τον εμφάνισε κανονικά.Μόνο που εγώ πληκτρολόγησα ένα επίθετο και μου τους εμφάνισε όλους .Πώς μπορώ να το αλλάξω αυτό?

Κανονικά θα έπρεπε να σου εμφανίσει μόνο τον χρήστη που έχει το επώνυμο που έβαλες κοίτα μια το name που έχεις δώσει στο πεδίο για το επώνυμο στην φόρμα αναζήτησης.
 
Πρέπει να είναι το ίδιο με το κείμενο που εμφανίζεται ανάμεσα στις αγκύλες στην παρακάτω γραμμή

!empty($_POST["epwnumo"]

Βάλε πάνω από την γραμμή

$stmt = $db->prepare($query);

το παρακάτω

echo "{$query}";

Κάνε μια νέα αναζήτηση με ένα επώνυμο στην σελίδα των αποτελεσμάτων κάπου θα δεις το παρακάτω

SELECT arithmos_ptuxiou,epwnumo,onoma,onoma_patera,topos_gennhshs,date_apofoithshs FROM ptuxiouxoi WHERE epwnumo = ?

Έλεγξε ότι ο πίνακας είναι σωστός και οι στήλες υπάρχουν αν δεις κάτι διαφορετικό κάπου έχουμε κάνει λάθος.

Καλό βράδυ.

SELECT epwnumo,onoma,onoma_patros,topos_gennhshs,date_apofoithshs FROM apofoitoi WHERE epwnumo = ?
Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: no parameters were bound in C:\xampp\htdocs\searchresults.php on line 499

Επώνυμο Όνομα Όνομα Πατρός Τόπος Γέννησης Ημ/νία Αποφοίτησης

Αυτό μου εμφάνισε.

Η σειρά 499 είναι :$stmt->execute($params);Την έσβησα να δω τι θα μου δείξει αλλά πάλι το ίδιο.

Καλό βράδυ!

Καλημέρα σε εμένα κάνει κανονικά αναζήτηση.

 

Απλώς μου ξέφυγε ένα ακόμα λάθος στην παρακάτω γραμμή

echo "<td>{$row['onoma_patera']}</td>";

αυτό πρέπει να γίνει

echo "<td>{$row['onoma_patros']}</td>";

Καλημέρα! Δες σε παρακαλώ μήπως βρεις κάποιο λάθος.

<html>
<body>
<table class="foithtes">

<thead>



<td>Επώνυμο</td>

<td>Όνομα</td>

<td>Όνομα Πατρός</td>

<td>Τόπος Γέννησης</td>

<td>Ημ/νία Αποφοίτησης</td>

</thead>

<?php

try {
    $db = new PDO('mysql:host=localhost;dbname=foithtes', 'root', '123',array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
    
    $query="SELECT epwnumo,onoma,onoma_patros,topos_gennhshs,date_apofoithshs FROM apofoitoi WHERE epwnumo= ?";

    $cond = array();
    $params = array();

    if (!empty($_POST["epwnumo"]))
    {
     $cond[] = "epwnumo = ?";
     $params[] = $_POST["epwnumo"];
    }

    if (count($cond)) {
      $query .= ' WHERE ' . implode(' AND ', $cond);
   }
  echo "{$query}";
   $stmt = $db->prepare($query);
   

   foreach ($stmt->fetchAll(PDO::FETCH_ASSOC) as $row) {
     echo '<tr>';
     
     echo "<td>{$row['epwnumo']}</td>";
     echo "<td>{$row['onoma']}</td>";
     echo "<td>{$row['onoma_patros']}</td>";
     echo "<td>{$row['topos_gennhshs']}</td>";
     echo "<td>{$row['date_apofoithshs']}</td>";
     echo '</tr>';
    }

    $db = null;
}
 catch (PDOException $e) {
    print "Error!: " . $e->getMessage() . "<br/>";
    die();
}
?>

</table>
</body>
</html>

1.Αυτό

$query="SELECT epwnumo,onoma,onoma_patros,topos_gennhshs,date_apofoithshs FROM apofoitoi WHERE epwnumo= ?";

πρέπει να γίνει

$query="SELECT epwnumo,onoma,onoma_patros,topos_gennhshs,date_apofoithshs FROM apofoitoi";

2.Αυτό

  $stmt = $db->prepare($query);

πρέπει να γίνει

$stmt = $db->prepare($query);$stmt->execute($params);

Αν γράψεις στην αναζήτηση στο επώνυμο πχ ΑΝΑΣΤΑΣΑΚΗ σου φέρνει μόνο αυτή ή όχι?

Όχι.Μου εμφανίζει αυτό που σου έστειλα.


Μόλις πατήσω αναζήτηση με παραπέμπει στην παρακάτω σελίδα

:http://www.de.teipat.gr/index.php/searchresults.php

post-64271-0-79954200-1417783399_thumb.p

 

Στη συνέχει πατάω :http://localhost/searchresults.php

και μου εμφανίζει αυτό που σου έστειλα.Είναι σωστή η διαδικασία;

Όχι δεν είναι

 

Στην σελίδα αναζήτησης το form σου πρέπει να είναι αυτής της μορφής

<form action="searchresults.php" method="post">

Archived

This topic is now archived and is closed to further replies.

×
×
  • Δημιουργία...

Important Information

Ο ιστότοπος theLab.gr χρησιμοποιεί cookies για να διασφαλίσει την καλύτερη εμπειρία σας κατά την περιήγηση. Μπορείτε να προσαρμόσετε τις ρυθμίσεις των cookies σας , διαφορετικά θα υποθέσουμε ότι είστε εντάξει για να συνεχίσετε.