update πεδία από δύο πίνακες

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

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

Απάντηση
txc
Δημοσιεύσεις: 626
Εγγραφή: 02 Δεκ 2003 23:08

update πεδία από δύο πίνακες

Δημοσίευση από txc » 13 Οκτ 2008 11:08

καλησπέρα παιδιά, προσπαθώ να φτιάξω κάτι και έχω κολλήσει, αν μπορεί κάποιος να με βοηθήσει

έχω δύο πίνακες :

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

CREATE TABLE IF NOT EXISTS `test` (
  `testid` int(10) unsigned NOT NULL auto_increment,
  `tmimataname` varchar(100) NOT NULL,
  `id` int(11) NOT NULL,
  `antikeimeno` varchar(100) NOT NULL,
  `posotita` varchar(100) NOT NULL,
  `imerominia_eisagogis` date NOT NULL,
  `imerominia_eksagogis` date NOT NULL,
  `imerominia_paradosis` date NOT NULL,
  `prothesmia` varchar(100) NOT NULL,
  `etoimotita` varchar(100) NOT NULL,
  `apothiki` varchar(100) NOT NULL,
  `image` text NOT NULL,
  `eisagogi_stotmima` varchar(100) NOT NULL,
  `eksagogi_apototmima` varchar(100) NOT NULL,
  PRIMARY KEY  (`testid`)
) ENGINE=MyISAM  DEFAULT CHARSET=greek AUTO_INCREMENT=7 ;

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

CREATE TABLE IF NOT EXISTS `stoixeia` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `onoma` varchar(100) NOT NULL,
  `etaireia` varchar(100) NOT NULL,
  `tilefono` char(100) default NULL,
  `onoma_ipeuthinou` varchar(100) default NULL,
  `tilefono_ipeuthinou` char(100) default NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=greek AUTO_INCREMENT=29 ;
ουσιαστικά οι δύο πίνακες συνδέονται με το id, όπου από τον πίνακα στοιχεία ένα όνομα (πεδίο όνομα ) μπορεί να έχει πολλά τμήματα (πεδίο tmimataname)

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

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

<?php
include 'library/config.php';
include 'library/opendb.php';


$result = mysql_query&#40;"select testid,tmimataname,onoma,antikeimeno,posotita,imerominia_eisagogis,imerominia_eksagogis,imerominia_paradosis,prothesmia,etoimotita,apothiki 
 from stoixeia, test where stoixeia.id=test.id;"&#41;;

echo "<table border='0' align='center' >
<tr bgcolor='#cadafe' >
<td width=40>Αρ. Πρωτοκόλλου</td>
<td width=40>'Ονομα</td>
<td width=40>Τμήμα</td>
<td width=40>Αντικείμενο</td>
<td width=40>Ποσότητα</td>
<td width=40>Ημερομηνία</td>
<td width=40>Ημ. Εξαγωγής</td>
<td width=40>Ημ. Παράδοσης</td>
<td width=40>Προθεσμία</td>
<td width=40>Ετοιμότητα</td>
<td width=40>Αποθήκη</td>
<td width=100>Εικόνα</td>
<td width=100>Επιλογές</td>
</tr>";

while&#40;$row = mysql_fetch_array&#40;$result&#41;&#41;
  &#123;
  echo "<tr bgcolor='#cadafe'>";
   echo "<td>" . $row&#91;'testid'&#93; . "</td>"; 
  echo "<td>" . $row&#91;'onoma'&#93; . "</td>"; 
  echo "<td>" . $row&#91;'tmimataname'&#93; . "</td>";
  echo "<td>" . $row&#91;'antikeimeno'&#93; . "</td>";
  echo "<td>" . $row&#91;'posotita'&#93; . "</td>";
  echo "<td>" . $row&#91;'imerominia_eisagogis'&#93; . "</td>";
   echo "<td>" . $row&#91;'imerominia_eksagogis'&#93; . "</td>";
   echo "<td>" . $row&#91;'imerominia_paradosis'&#93; . "</td>";
    echo "<td>" . $row&#91;'prothesmia'&#93; . "</td>";
	echo "<td>" . $row&#91;'etoimotita'&#93; . "</td>";
	echo "<td>" . $row&#91;'apothiki'&#93; . "</td>";
	echo "<td>" . $row&#91;'image'&#93; . "</td>";?>
       <td width="100" align="center"><a href="edit_tmima.php?testid=<?php echo $testid;?>">Τροποποίηση</a></td>
  <?
	
	   echo "</tr>";
 &#125;
echo "</table>";
include 'library/closedb.php';
?>

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

<?php
include 'library/config.php';
include 'library/opendb.php';

if&#40;isset&#40;$_GET&#91;'testid'&#93;&#41;&#41;
&#123;
	$query = "SELECT testid,tmimataname,antikeimeno,posotita,imerominia_eisagogis,imerominia_eksagogis,imerominia_paradosis,prothesmia,etoimotita,apothiki,
	image ".
	         "FROM test ".
			"WHERE testid = '&#123;$_GET&#91;'testid'&#93;&#125;' ";
	$result = mysql_query&#40;$query&#41; or die&#40;'Error &#58; ' . mysql_error&#40;&#41;&#41;;
	list&#40;$testid, $tmimataname,$onoma,$antikeimeno,$posotita,$imerominia_eisagogis, $imerominia_eksagogis, $imerominia_paradosis,$prothesmia,$etoimotita,$apothiki,$image&#41; = mysql_fetch_array&#40;$result, MYSQL_NUM&#41;;
	
	$tmimataname = htmlspecialchars&#40;$tmimataname&#41;;
&#125; 
else if&#40;isset&#40;$_POST&#91;'tmimataname'&#93;&#41;&#41;
&#123;
    $testid      = $_POST&#91;'testid'&#93;;
	$tmimataname   = $_POST&#91;'tmimataname'&#93;;

	$antikeimeno = $_POST&#91;'antikeimeno'&#93;;
	$posotita = $_POST&#91;'posotita'&#93;;
	$imerominia_eisagogis = $_POST&#91;'imerominia_eisagogis'&#93;;
	$imerominia_eksagogis = $_POST&#91;'imerominia_eksagogis'&#93;;
	$imerominia_paradosis = $_POST&#91;'imerominia_paradosis'&#93;;
	$prothesmia = $_POST&#91;'prothesmia'&#93;;
	$etoimotita = $_POST&#91;'etoimotita'&#93;;
	$apothiki = $_POST&#91;'apothiki'&#93;;
	$image = $_POST&#91;'image'&#93;;
	
	
	
	if&#40;!get_magic_quotes_gpc&#40;&#41;&#41;
	&#123;
		$tmimataname   = addslashes&#40;$tmimataname&#41;;
		
		$antikeimeno = addslashes&#40;$antikeimeno&#41;;
		$posotita = addslashes&#40;$posotita&#41;;
		$imerominia_eisagogis = addslashes&#40;$imerominia_eisagogis&#41;;
		$imerominia_eksagogis = addslashes&#40;$imerominia_eksagogis&#41;;
		$imerominia_paradosis   = addslashes&#40;$imerominia_paradosis&#41;;
		$prothesmia  = addslashes&#40;$prothesmia &#41;;
		$etoimotita = addslashes&#40;$etoimotita&#41;;
		$apothiki = addslashes&#40;$apothiki&#41;;
		$image = addslashes&#40;$image&#41;;
		
	&#125;
	
	// update the article in the database
	$query = "UPDATE stoixeia ".
	         "SET tmimataname = '$tmimataname',  antikeimeno = '$antikeimeno', posotita='$posotita', imerominia_eisagogis='$imerominia_eisagogis', imerominia_eksagogis='$imerominia_eksagogis', imerominia_paradosis='$imerominia_paradosis', prothesmia='$prothesmia', etoimotita='$etoimotita',
			 apothiki='$apothiki', image='$image' ".
			 "WHERE testid = '$testid'";
	mysql_query&#40;$query&#41; or die&#40;'Error &#58; ' . mysql_error&#40;&#41;&#41;;

	// then remove the cached file
	$cacheDir  = dirname&#40;__FILE__&#41; . '/cache/';
	$cacheFile = $cacheDir . '_' . $_GET&#91;'testid'&#93; . '.php';
	
	@unlink&#40;$cacheFile&#41;;
	
	// and remove the index.html too because the file list
	// is changed
	@unlink&#40;$cacheDir . 'index.php'&#41;;
		
	echo "<p align='center'>Επιτυχημένη Ανανέωση Κειμένου</p>";
	
	// now we will display $title & content
	// so strip out any slashes
	$tmimataname   = stripslashes&#40;$tmimataname&#41;;

	$antikeimeno = stripslashes&#40;$antikeimeno&#41;;
	$posotita = stripslashes&#40;$posotita&#41;;
	$imerominia_eisagogis = stripslashes&#40;$imerominia_eisagogis&#41;;
	$imerominia_eksagogis = stripslashes&#40;$imerominia_eksagogis&#41;;
    $imerominia_paradosis   = stripslashes&#40;$imerominia_paradosis&#41;;
	$prothesmia = stripslashes&#40;$prothesmia&#41;;
	$etoimotita = stripslashes&#40;$etoimotita&#41;;
	$apothiki = stripslashes&#40;$apothiki&#41;;
	$image = stripslashes&#40;$image&#41;;
	
&#125;

include 'library/closedb.php';
?>
ουσιαστικά έχω πρόβλημα στο δεύτερο αρχείο, καμιά βοήθεια?
ευχαριστώ

txc
Δημοσιεύσεις: 626
Εγγραφή: 02 Δεκ 2003 23:08

update πεδία από δύο πίνακες

Δημοσίευση από txc » 13 Οκτ 2008 14:34

παιδιά το έφτιαξα μόνος
ευχαριστώ !

Απάντηση

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

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

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