Jump to content

Tsoureki

Premium Members
  • Posts

    192
  • Εγγραφή

  • Τελευταία Επίσκεψη

Posts posted by Tsoureki

  1. Η αλήθεια είναι ότι δεν κατάλαβα τι εννοείς. Οι 2 πηγαίοι πίνακες ποιοί έιναι;

    Πάντως το anchor σου έχει λάθος path. Τα relative paths στο href όταν ξεκινάνε με slash σε πάνε στο root του website σου. Εν τέλει θες ή το index.php ή το hgrammateia.html

    <a href="index.php">

    ή

    <a href="hgrammateia.html">

    Με absolute path θες την πλήρη διεύθυνση:

    <a href="http://127.0.0.1/index.php">

  2. Κάτι ακόμα:

    Δεν ξέρω τι project είναι αυτό που πας να υλοποιήσεις, μπορεί να είναι και μία απλή άσκηση. Χωρίς να ξέρω τη δομή της βάσης σου, αλλά επειδή βλέπω όνομα πίνακα ptuxiouxoi: στο 99% των περιπτώσεων δεν θες σε ξεχωριστό πίνακα τους πτυχιούχους και σε άλλο τους μη πτυχιούχους. Έχεις μία οντότητα, τον φοιτητή, όχι δύο, τον πτυχιούχο και τον μη πτυχιούχο.

    Η διάρθρωση της βάσης σου είναι σημαντική γιατί αν τελικά κάνεις ριζικές αλλαγές αργότερα, φαντάσου ότι θα πρέπει να ελέγξεις/διορθώσεις όλα τα queries σε όλα τα scriptάκια σου.:giveup:

  3. Ο λόγος που σου εμφανίζει μόνο τα arithmos_ptuxiou,epwnumo είναι επειδή στην printf έχεις βάλει μόνο δύο string specifiers (%s).

    Με το παρακάτω θα δουλέψει:

    printf ("%s %s %s %s %s %s\n", $obj->arithmos_ptuxiou, $obj->epwnumo, $obj->onoma, $obj->onoma_patera, $obj->topos_gennhshs, $obj->date_apofoithshs);

    Τέτοια queries συνήθως δείχνουν πιο τακτοποιημένα σε html πίνακα.

    Κάπως έτσι δλδ


    <table class="foithtes_table">
    <thead>
    <td>Αριθμός Πτυχίου</td>
    <td>Επώνυμο</td>
    <td>Όνομα</td>
    <td>Όνομα Πατρός</td>
    <td>Τόπος Γέννησης</td>
    <td>Ημ/νία Αποφοίτησης</td>
    </thead>
    <?php
    $link = mysqli_connect($_HOST_, $_USER_, $_PASS_, $_DB_) or die("unable to connect");

    mysqli_query($link,"set names utf8");

    $query="SELECT arithmos_ptuxiou,epwnumo,onoma,onoma_patera,topos_gennhshs,date_apofoithshs FROM ptuxiouxoi";

    if ($result = mysqli_query($link, $query)) {
    while ($obj = mysqli_fetch_object($result)) {
    echo '<tr>';
    echo "<td>{$obj->arithmos_ptuxiou}</td>";
    echo "<td>{$obj->epwnumo}</td>";
    echo "<td>{$obj->onoma}</td>";
    echo "<td>{$obj->onoma_patera}</td>";
    echo "<td>{$obj->topos_gennhshs}</td>";
    echo "<td>{$obj->date_apofoithshs}</td>";
    echo '</tr>';
    }
    mysqli_free_result($result);
    }
    mysqli_close($link);
    ?>
    </table>

    Με ελάχιστο styling είναι πολύ εύκολο τώρα να σουλουπώσεις τον πίνακά σου:


    <style>
    .foithtes_table {
    text-align: center;
    }
    .foithtes_table thead td {
    background-color: #000;
    color:#FFF;
    font-weight:bold;
    }
    .foithtes_table tr:nth-child(even) {
    background-color: #BBB;
    }
    .foithtes_table tr:nth-child(odd) {
    background-color: #FFF;
    }
    </style>

    Τέλος η γραμμή που εμφανίζει το host_info, είναι οκ για development αλλά όχι για production περιβάλλον.

  4. Όπως πολύ σωστά λέει ο [MENTION=6552]samplist[/MENTION], 404 σημαίνει ότι δεν βρίσκει τη σελίδα. Σιγουρέψου ότι χτυπάς το php αρχείο και όχι html σελίδα.

    Αν ο κώδικας σου βρίσκεται στο foithtes.php θες το

    http://myhost/foithtes.php

    και όχι το

    http://myhost/foithtes.html

    Αν και μέσω Apache μπορείς να βάλεις την PHP να parseάρει σελίδες με κατάλληξη html ή να κάνεις κόλπα με το rewrite για να καλείς άλλο αρχείο και άλλα να φαίνονται στο address bar, by default θες το αρχείο με το script. Δλδ πρέπει να γίνει κατανοητό ότι και το scriptάκι εφόσον έχουμε γράψει HTML μέσα, μια HTML σελίδα θα μας δώσει όταν τo καλέσουμε από το browser.

    Το echo έτσι όπως το έχεις βάλει θα εκτελεστεί ούτως ή άλλως, χωρίς κάποια συνθήκη που να ελέγχει αν υπάρχουν records στον πίνακα.

    ΠΟΛΥ ΣΗΜΑΝΤΙΚΟ:

    Αν έχεις πάρει στα σοβαρά την εκμάθηση PHP, μη χρησιμοποιείς τη βιβλιοθήκη mysql αλλά τη mysqli σε συνδυασμό με prepared statements. Μπορεί να φαίνεται στην αρχή δύσκολο, αλλά καλύτερα να το μάθεις σωστά εξ αρχής παρά να μάθεις λάθος (με mysql) και μετά να πρέπει να πας σε mysqli.

    BONUS κώδικας για να κάνεις τη σύνδεση με mysqli


    $_HOST_= 'localhost';
    $_USER_ = 'root'; /*Φτιάξε χρήστη στη Mysql που να έχει πρόσβαση
    μόνο στη βάση αυτή και μη χρησιμοποιείς τον root.*/
    $_PASS_ = '....';
    $_DB_ = 'foithtes';

    $link = mysqli_connect($_HOST_, $_USER_, $_PASS_, $_DB_) or die("unable to connect");

    PHP: mysqli_stmt - Manual

    καλό διάβασμα :T:

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

Important Information

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