Νεο μελοσ

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

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

Απάντηση
elsapanag
Δημοσιεύσεις: 3
Εγγραφή: 30 Μάιος 2010 20:09

Νεο μελοσ

Δημοσίευση από elsapanag » 30 Μάιος 2010 20:29

Καλησπερα στο φορουμ. Ειμαι νεο μελος και συγχωρεστε με για τυχον λαθη. Εψαχνα για ενα προβλημα σε ενα php αρχειο που εχω στο google και ειδα το φορουμ. Ειμαι φοιτητρια κ εχω μια εργασια για πληροφοριακα συστηματα υγειας συγκεκριμενα για κλεσιμο ραντεβου σε νοσοκομειο. Καθώς τρέχω την σελιδα για την εγγραφή του ραντεβού μου εμφανίζει το εξής μήνυμα:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\medical_examination_book\register.php on line 17.
Παραθέτω και τον αντίστοιχο κώδικα:


<?php

include("epInclude/config.inc.php");

$con=mysql_connect($dbServer,$dbUser,$dbPass)
or exit("Cannot connect to database");

$res = mysql_query("SELECT id, kentro, iatreio, date, time FROM patient_info WHERE id = (SELECT MAX(id) FROM patient_info)");
$row = mysql_fetch_array($res);
$maxid = $row["id"];
srand(time());
$random = (rand()%100000000);


$res2 = mysql_query("UPDATE `evdomh_perifereia`.`patient_info` SET `name`='".$_POST['name']."', `surname`='".$_POST['surname']."', `fathername`='".$_POST['fathername']."', `mothername`='".$_POST['mothername']."', `aicode`='".$_POST['kaf']."', `sex`='".$_POST['sex']."', `birthdate`='".$_POST['date3']."', `address`='".$_POST['address']."', `hometel`='".$_POST['tel']."', `worktel`='".$_POST['worktel']."', `mobile`='".$_POST['mobile']."', `allergies`='".$_POST['allergies']."', `chronicdeseases`='".$_POST['chronicdeseases']."', `operations`='".$_POST['operations']."', `gestation`='".$_POST['gestation']."', `kentro`='".$row['kentro']."', `iatreio`='".$row['iatreio']."', `date`='".$row['date']."', `time`='".$row['time']."', `uniquecode`='$random' WHERE `patient_info`.`id` = '$maxid' LIMIT 1");


echo "<center><h2><b>ΤΑ ΣΤΟΙΧΕΙΑ ΠΟΥ MΟΛΙΣ ΚΑΤΑΧΩΡΙΣΑΤΕ ΕΙΝΑΙ ΤΑ ΕΞΗΣ:<b></h2>
<br/><table BORDER='3'CELLSPACING='1' CELLPADDING='1'>

<tr><td> ΟΝΟΜΑ:</td><td>".$_POST['name']. "</td></tr>
<tr><td> ΕΠΙΘΕΤΟ:</td><td>".$_POST['surname']. "</td></tr>
<tr><td> ΟΝΟΜΑ ΠΑΤΡΟΣ:</td><td>".$_POST['fathername']. "</td></tr>
<tr><td> ΟΝΟΜΑ ΜΗΤΡΟΣ:</td><td>".$_POST['mothername']. "</td></tr>
<tr><td> ΚΩΔΙΚΟΣ ΑΣΦΑΛΙΣΤΙΚΟΥ ΦΟΡΕΑ:</td><td>".$_POST['kaf']. "</td></tr>
<tr><td> ΦΥΛΟ:</td><td>".$_POST['sex']. "</td></tr>
<tr><td> ΗΜΕΡΟΜΗΝΙΑ ΓΕΝΝΗΣΗΣ:</td><td>".$_POST['date3']. "</td></tr>
<tr><td> ΔΙΕΥΘΥΝΣΗ:</td><td>".$_POST['address']. "</td></tr>
<tr><td> ΤΗΛ. ΚΑΤΟΙΚΙΑΣ:</td><td>".$_POST['tel']. "</td></tr>
<tr><td> ΤΗΛ. ΕΡΓΑΣΙΑΣ:</td><td>".$_POST['worktel']. "</td></tr>
<tr><td> ΚΙΝΗΤΟ:</td><td>".$_POST['mobile']. "</td></tr>
<tr><td> ΑΛΛΕΡΓΙΕΣ:</td><td>".$_POST['allergies']. "</td></tr>
<tr><td> ΧΡΟΝΙΑ ΝΟΣΗΜΑΤΑ:</td><td>".$_POST['chronicdeseases']. "</td></tr>
<tr><td> ΕΓΧΕΙΡΙΣΗ:</td><td>".$_POST['operations']. "</td></tr>
<tr><td> ΚΥΗΣΗ:</td><td>".$_POST['gestation']. "</td></tr>
<tr><td> ΚΕΝΤΡΟ ΕΞΕΤΑΣΗΣ:</td><td>".$row['kentro']. "</td></tr>
<tr><td> ΙΑΤΡΕΙΟ:</td><td>".$row['iatreio']. "</td></tr>
<tr><td> ΗΜΕΡΟΜΗΝΙΑ:</td><td>".$row['date']. "</td></tr>
<tr><td> ΩΡΑ:</td><td>".$row['time']. "</td></tr>
<tr><td> ΠΡΟΣΩΠΙΚΟΣ ΚΩΔΙΚΟΣ:</td><td><b>".$random. "</b></td></tr>";
echo "<table></center>";

mysql_close($con);
?>



<script language="Javascript1.2">

var message = "Εκτύπωσε αυτή τη σελίδα";
function printpage() {
window.print();
}
document.write("<br/><form><input type=button "
+"value=\""+message+"\" onClick=\"printpage()\"></form>");
</script>


<body>
<form action="index.html">
<input type="submit" value="Επιστροφή στην αρχική">
</form>
</body>
</html>





Ευχαριστω εκ των προτερων για την οποια βοηθεια.

Άβαταρ μέλους
Banavas
Script Master
Δημοσιεύσεις: 1367
Εγγραφή: 21 Νοέμ 2004 20:25
Επικοινωνία:

Νεο μελοσ

Δημοσίευση από Banavas » 30 Μάιος 2010 21:02

Καλωσήρθες στο forum,
μετά από αυτό :
$con=mysql_connect($dbServer,$dbUser,$dbPass)
or exit("Cannot connect to database");

λογικά πρέπει να επιλέξεις database δηλαδή κάπως έτσι
$SelectedDB = mysql_select_db($dbname);

Απο το παρακάτω συμπεραίνω οτι θέλεις να βρείς την τελευταία εγγραφή.
$res = mysql_query("SELECT id, kentro, iatreio, date, time FROM patient_info WHERE id = (SELECT MAX(id) FROM patient_info)");

Μπορείς να το κάνεις ετσι
$res = mysql_query("SELECT id, kentro, iatreio, date, time FROM patient_info ORDER BY id DESC LIMIT 1");

EDIT------------
και ένα tip
Ο $random όσο τυχαίος και να είναι μπορεί να συμπέσει να είναι ο ίδιος.
Μπορείς να χρησιμοποιήσεις την time() που δίνει ένα μοναδικό αριθμό δωδεκαψήφιο και επιπλέον θα ξέρεις από τον κωδικό και την στιγμή εγγραφης.
Τελευταία επεξεργασία από το μέλος Banavas την 30 Μάιος 2010 21:11, έχει επεξεργασθεί 1 φορά συνολικά.
Happy coding....
Μάρκος
http://lasernet.gr

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

Νεο μελοσ

Δημοσίευση από fafos » 30 Μάιος 2010 21:03

welcome..

exeis tetoio table sthn vash sou? `evdomh_perifereia`.`patient_info`

mhpos einai sketo `evdomh_perifereia`?

Άβαταρ μέλους
Pavel
Honorary Member
Δημοσιεύσεις: 1046
Εγγραφή: 08 Αύγ 2003 00:05
Τοποθεσία: UK

Νεο μελοσ

Δημοσίευση από Pavel » 31 Μάιος 2010 00:08

Επίσης, η PHP δεν αντικαθιστά μεταβλητές όταν βρίσκονται σε μονά εισαγωγικά όπως έχεις το $maxid. Άλλαξέ το σε διπλά.

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

WHERE `patient_info`.`id` = '$maxid' LIMIT 1"&#41;;
Εσύ είσαι τρελός.

elsapanag
Δημοσιεύσεις: 3
Εγγραφή: 30 Μάιος 2010 20:09

Νεο μελοσ

Δημοσίευση από elsapanag » 31 Μάιος 2010 01:08

Fafo εχω το pαtient_info στην βαση μου.
Pavel αλλαξα αυτο που μου ειπες αλλα τωρα μου βγάζει το μηνυμα:
Parse error: syntax error, unexpected T_VARIABLE in C:\xampp\htdocs\medical_examination_book\register.php on line 23.

Μας εβαλε η καθηγητρια να κανουμε την εργασια χωρισ να μας εχει διδαξει ή να εχουμε διδαχτει απο προηγουμενα εξαμηνα πως φτιαχνουμε βασεις δομενων, php, mysql κ τα σχετικα.
Κ ψαχνομαι μηπως βγαλω κπ ακρη.
Thanks παντως για την γρηγορη απαντηση σας.

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

Νεο μελοσ

Δημοσίευση από fafos » 31 Μάιος 2010 01:20

allakse ta:

UPDATE `evdomh_perifereia`.`patient_info` SET

me

UPDATE patient_info SET

kai

WHERE `patient_info`.`id` = '$maxid'

me

WHERE patient_info.id = $maxid

elsapanag
Δημοσιεύσεις: 3
Εγγραφή: 30 Μάιος 2010 20:09

Νεο μελοσ

Δημοσίευση από elsapanag » 31 Μάιος 2010 01:45

τπτ παλι το ιδιο μνμ για την mysql_fetch_array(): supplied argument is not a valid MySQL

μηπως στην σελιδα πριν την register οταν διαλεγα το kentro,iatreio,date, time τις επιλογες αυτες δεν τις αποθηκευει στην βαση κ ετσι δεν μπορει να μου βγαλει το αποτελεσμα?

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

Νεο μελοσ

Δημοσίευση από fafos » 31 Μάιος 2010 03:27

elsapanag έγραψε:τπτ παλι το ιδιο μνμ για την mysql_fetch_array(): supplied argument is not a valid MySQL

μηπως στην σελιδα πριν την register οταν διαλεγα το kentro,iatreio,date, time τις επιλογες αυτες δεν τις αποθηκευει στην βαση κ ετσι δεν μπορει να μου βγαλει το αποτελεσμα?
svhse auto: LIMIT 1

tsekare an ta pedia pou kaneis update einai sosta mesa sthn vash (akoma kai ena grama na exeis lathos den proxoraei to update).. epishs gia na mhn mperdeuesai otan exeis polla pedia, na ta vazeis to ena kato apo to allo:

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

$res2 = mysql_query&#40;"UPDATE patient_info SET
 `name`='".$_POST&#91;'name'&#93;."',
 `surname`='".$_POST&#91;'surname'&#93;."',
 `fathername`='".$_POST&#91;'fathername'&#93;."',
 `mothername`='".$_POST&#91;'mothername'&#93;."',
 `aicode`='".$_POST&#91;'kaf'&#93;."',
 `sex`='".$_POST&#91;'sex'&#93;."',
 `birthdate`='".$_POST&#91;'date3'&#93;."',
 `address`='".$_POST&#91;'address'&#93;."',
 `hometel`='".$_POST&#91;'tel'&#93;."',
 `worktel`='".$_POST&#91;'worktel'&#93;."',
 `mobile`='".$_POST&#91;'mobile'&#93;."',
 `allergies`='".$_POST&#91;'allergies'&#93;."',
 `chronicdeseases`='".$_POST&#91;'chronicdeseases'&#93;."',
 `operations`='".$_POST&#91;'operations'&#93;."',
 `gestation`='".$_POST&#91;'gestation'&#93;."',
 `kentro`='".$row&#91;'kentro'&#93;."',
 `iatreio`='".$row&#91;'iatreio'&#93;."',
 `date`='".$row&#91;'date'&#93;."',
 `time`='".$row&#91;'time'&#93;."',
 `uniquecode`='$random'
 WHERE id=$maxid "&#41;; 

mysql_db_query&#40;$dbName, $res2, $con&#41;;

theodoros_mihos
Δημοσιεύσεις: 7
Εγγραφή: 03 Ιουν 2010 01:26
Τοποθεσία: Ηράκλειο
Επικοινωνία:

Νεο μελοσ

Δημοσίευση από theodoros_mihos » 03 Ιουν 2010 01:48

$query="SELECT * FROM `".$tb."` WHERE `id`=".$myRec;
$result=mysql_query($query, $link);
if(!$result){echo mysql_error()."\n";}else{
$rowSize=array(0,32,32,2,18,0,2,18,0,64);
while($row=mysql_fetch_row($result)){
for($i=1;$i<=$cols;$i++){
if($i%3==0){....
Δεν χρησιμοποιώ την mysql_fecth_array αλλά την mysql_fetch_row
Ο κώδικας δουλεύει στην http://www.tsoft.gr

Απάντηση

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

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

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