edit φορμας php mysql

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

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

Απάντηση
kilikeio
Δημοσιεύσεις: 52
Εγγραφή: 08 Ιούλ 2008 16:53

edit φορμας php mysql

Δημοσίευση από kilikeio » 12 Δεκ 2009 18:07

ξερει κανεις κανα tutorial καλο για να κανει ο χρηστης edit τα στοιχεια μιας φορμας?
δηλαδη εχω ετοιμη μια φορμα η οποια εχει 4-5 πεδια τα οποια συμπηρωνει ο χρηστης και στην συνεχεια ενημερωνεται ενα table το οποιο περιεχει καθε εγγραφη που εχει κανει καποιος χρηστης. και σε αυτο το table θελω να υπαρχει ενα λινκ π.χ με το ονομα edit σε καθε εγγραφη που εχει γινει και μολις πατηθει το λινκ να στελνει τον χρηστη στην φορμα ωστε να αλλαζει τα δεδομενα.
εψαξα στο google και εδω στο forum αλλα δεν βρηκα και πολλα. οποιος εχει καμια υποδειξη ή κανα λινκ ας στειλει.
ευχαριστω!!

Άβαταρ μέλους
kamar
Δημοσιεύσεις: 13
Εγγραφή: 23 Σεπ 2009 17:40
Τοποθεσία: Χανιά

edit φορμας php mysql

Δημοσίευση από kamar » 12 Δεκ 2009 23:40

Μήπως ψάχνεις για κάτι σαν αυτό;
www.spoono.com/php/tutorials/tutorial.php?id=23

kilikeio
Δημοσιεύσεις: 52
Εγγραφή: 08 Ιούλ 2008 16:53

edit φορμας php mysql

Δημοσίευση από kilikeio » 13 Δεκ 2009 18:19

Ναι κατι τετοιο. Thnx για την απαντηση
το προβλημα ειναι τωρα πως να το προσαρμοσω στον κωδικα μου.
τεσπα ευχαριστω κ παλι.

Άβαταρ μέλους
dimsis
Reporter
Δημοσιεύσεις: 7994
Εγγραφή: 25 Ιούλ 2001 03:00

edit φορμας php mysql

Δημοσίευση από dimsis » 13 Δεκ 2009 22:05

demo: http://www.woot.gr/pg/links_insert/
download: http://www.box.net/shared/ckr4sbdlpl (περιλαμβάνει τα 2 php αρχεία + 1 txt με τον SQL κώδικα που δημιουργεί τον πίνακα και εισάγει κάποια dummy data)

index.php (αυτή που κάνει το list)

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

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http&#58;//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http&#58;//www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<!-- <a href="http&#58;//localhost/pg/links_insert/index.php">Add</a> <a href="http&#58;//localhost/insert/searchform.php">Search</a> -->
<?php
	$con = mysql_connect&#40;"localhost","root",""&#41;;
	if &#40;!$con&#41; &#123; die&#40;'Could not connect&#58; ' . mysql_error&#40;&#41;&#41;; &#125;
	mysql_select_db&#40;"dokimh", $con&#41;;
	
	$tbl_name="persons";      //your table name
	// How many adjacent pages should be shown on each side?
	$adjacents = 3;
   
	$query = "SELECT COUNT&#40;*&#41; as num FROM $tbl_name";
	$total_pages = mysql_fetch_array&#40;mysql_query&#40;$query&#41;&#41;;
	$total_pages = $total_pages&#91;num&#93;;
   
	/* Setup vars for query. */
	$targetpage = "index.php";    //your file name  &#40;the name of this file&#41;
	$limit = 5;                         //how many items to show per page
	$page = $_GET&#91;'page'&#93;;
	if&#40;$page&#41;
	  $start = &#40;$page - 1&#41; * $limit;          //first item to display on this page
	else
	  $start = 0;                        //if no page var is given, set start to 0
   
	/* Get data. */
	/* Setup page vars for display. */
	if &#40;$page == 0&#41; $page = 1;               //if no page var is given, default to 1.
	$prev = $page - 1;                     //previous page is page - 1
	$next = $page + 1;                     //next page is page + 1
	$lastpage = ceil&#40;$total_pages/$limit&#41;;      //lastpage is = total pages / items per page, rounded up.
	$lpm1 = $lastpage - 1;                  //last page minus 1
   
	/*
	  Now we apply our rules and draw the pagination object.
	  We're actually saving the code to a variable in case we want to draw it more than once.
	*/
   $pagination = "";
   if&#40;$lastpage > 1&#41;
   &#123;   
      $pagination .= "<div class=\"pagination\">";
      //previous button
      if &#40;$page > 1&#41;
         $pagination.= "<a href=\"$targetpage?page=$prev\">&laquo; previous</a>";
      else
         $pagination.= "<span class=\"disabled\">&laquo; previous</span>";   
      
      //pages   
      if &#40;$lastpage < 7 + &#40;$adjacents * 2&#41;&#41;   //not enough pages to bother breaking it up
      &#123;   
         for &#40;$counter = 1; $counter <= $lastpage; $counter++&#41;
         &#123;
            if &#40;$counter == $page&#41;
               $pagination.= "<span class=\"current\">$counter</span>";
            else
               $pagination.= "<a href=\"$targetpage?page=$counter\">$counter</a>";               
         &#125;
      &#125;
      elseif&#40;$lastpage > 5 + &#40;$adjacents * 2&#41;&#41;   //enough pages to hide some
      &#123;
         //close to beginning; only hide later pages
         if&#40;$page < 1 + &#40;$adjacents * 2&#41;&#41;      
         &#123;
            for &#40;$counter = 1; $counter < 4 + &#40;$adjacents * 2&#41;; $counter++&#41;
            &#123;
               if &#40;$counter == $page&#41;
                  $pagination.= "<span class=\"current\">$counter</span>";
               else
                  $pagination.= "<a href=\"$targetpage?page=$counter\">$counter</a>";               
            &#125;
            $pagination.= "...";
            $pagination.= "<a href=\"$targetpage?page=$lpm1\">$lpm1</a>";
            $pagination.= "<a href=\"$targetpage?page=$lastpage\">$lastpage</a>";      
         &#125;
         //in middle; hide some front and some back
         elseif&#40;$lastpage - &#40;$adjacents * 2&#41; > $page && $page > &#40;$adjacents * 2&#41;&#41;
         &#123;
            $pagination.= "<a href=\"$targetpage?page=1\">1</a>";
            $pagination.= "<a href=\"$targetpage?page=2\">2</a>";
            $pagination.= "...";
            for &#40;$counter = $page - $adjacents; $counter <= $page + $adjacents; $counter++&#41;
            &#123;
               if &#40;$counter == $page&#41;
                  $pagination.= "<span class=\"current\">$counter</span>";
               else
                  $pagination.= "<a href=\"$targetpage?page=$counter\">$counter</a>";               
            &#125;
            $pagination.= "...";
            $pagination.= "<a href=\"$targetpage?page=$lpm1\">$lpm1</a>";
            $pagination.= "<a href=\"$targetpage?page=$lastpage\">$lastpage</a>";      
         &#125;
         //close to end; only hide early pages
         else
         &#123;
            $pagination.= "<a href=\"$targetpage?page=1\">1</a>";
            $pagination.= "<a href=\"$targetpage?page=2\">2</a>";
            $pagination.= "...";
            for &#40;$counter = $lastpage - &#40;2 + &#40;$adjacents * 2&#41;&#41;; $counter <= $lastpage; $counter++&#41;
            &#123;
               if &#40;$counter == $page&#41;
                  $pagination.= "<span class=\"current\">$counter</span>";
               else
                  $pagination.= "<a href=\"$targetpage?page=$counter\">$counter</a>";               
            &#125;
         &#125;
      &#125;
      //next button
      if &#40;$page < $counter - 1&#41;
         $pagination.= "<a href=\"$targetpage?page=$next\">next &raquo;</a>";
      else
         $pagination.= "<span class=\"disabled\">next &raquo;</span>";
      $pagination.= "</div>\n";      
   &#125;
?>
<?php
   if&#40;$_POST&#91;submit&#93;&#41;&#123;
   $sql2="INSERT INTO $tbl_name &#40;Link, Artist, Year, Comments, Genre&#41;
   		  VALUES
		  &#40;'$_POST&#91;link&#93;','$_POST&#91;artist&#93;','$_POST&#91;year&#93;','$_POST&#91;comments&#93;','$_POST&#91;genre&#93;'&#41;";
	if &#40;!mysql_query&#40;$sql2,$con&#41;&#41;
	  &#123;
	  die&#40;'Error&#58; ' . mysql_error&#40;&#41;&#41;;
	  &#125;
	&#125;   
   $sql = "SELECT * FROM $tbl_name $max ORDER BY id DESC LIMIT $start, $limit";
   $result = mysql_query&#40;$sql&#41; or die&#40;mysql_error&#40;&#41;&#41;;;
	Print "<table border=1 align=center cellpadding=3>";
	Print "<tr><th>Link</th><th>Artist</th><th>Year</th><th>Comments</th><th>Genre</th></tr>";	  
    while&#40;$row = mysql_fetch_array&#40;$result&#41;&#41;  &#123;
	Print "<tr>";
	Print "<td><a href=\"".$row&#91;'Link'&#93;."\">".$row&#91;'Link'&#93;."</a></td> ";
 	Print "<td>".$row&#91;'Artist'&#93;."</td>";
	Print "<td>".$row&#91;'Year'&#93;."</td> ";
	Print "<td>".$row&#91;'Comments'&#93;."</td> ";
	Print "<td>".$row&#91;'Genre'&#93;."</td>";  
	Print "<td><a href=\"edit.php?id=".$row&#91;'id'&#93;."\">Edit</a></td> ";
	Print "</tr>";
	&#125;
	Print "</table>";
	mysql_close&#40;$con&#41;;
   ?>
<?php echo $pagination?>
</body>
</html>
edit.php

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

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http&#58;//www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style>
label &#123;
	display&#58;block;
	clear&#58;both;
	margin-top&#58;10px;
&#125;
</style>
</head>
<body>
<?php
	$con = mysql_connect&#40;"localhost","root",""&#41;;
	if &#40;!$con&#41; &#123; die&#40;'Could not connect&#58; ' . mysql_error&#40;&#41;&#41;; &#125;
	mysql_select_db&#40;"dokimh", $con&#41;;
	
	if &#40;$_POST&#91;"submit"&#93;&#41;
   &#123;
	$id  = filter_var&#40;$_POST&#91;'id'&#93;, FILTER_VALIDATE_INT&#41;;  
	$Link = filter_var&#40;$_POST&#91;'Link'&#93;, FILTER_SANITIZE_STRING&#41;;  
	$Artist = filter_var&#40;$_POST&#91;'Artist'&#93;, FILTER_SANITIZE_STRING&#41;;  
	$Year = filter_var&#40;$_POST&#91;'Year'&#93;, FILTER_VALIDATE_INT&#41;;  
	$Comments=filter_var&#40;$_POST&#91;'Comments'&#93;, FILTER_SANITIZE_STRING&#41;;  
	$Genre=filter_var&#40;$_POST&#91;'Genre'&#93;, FILTER_SANITIZE_STRING&#41;;  
	$sql = "UPDATE persons SET Link='$Link',Artist='$Artist',Year='$Year',Comments='$Comments',Genre='$Genre' WHERE id='$id'";
	//replace news with your table name above
	$result = mysql_query&#40;$sql&#41;;
	echo "Thank you! Information updated.";
	echo '<meta http-equiv="refresh" content="0;url=./index.php">';
	exit&#40;&#41;;	  
   &#125;
?>
<?php
   if &#40;isset&#40;$_GET&#91;"id"&#93;&#41;&#41;
   &#123;
      $id = $_GET&#91;"id"&#93;;
      $sql = "SELECT * FROM persons WHERE id='$id'";
      $result = mysql_query&#40;$sql&#41;;       
	if &#40;!$result&#41; &#123;
		echo "Could not successfully run query &#40;$sql&#41; from DB&#58; " . mysql_error&#40;&#41;;
		exit;
	&#125;
	if &#40;mysql_num_rows&#40;$result&#41; == 0&#41; &#123;
		echo "No rows found, nothing to print so am exiting";
		exit;
	&#125;
	while &#40;$row = mysql_fetch_assoc&#40;$result&#41;&#41; &#123;
   	?>
        <form action="edit.php" method="post">
          <fieldset>
            <legend>Update form</legend>
            <label for="Link">Link&#58;</label>
            <input type="text" name="Link" value="<?php echo $row&#91;"Link"&#93; ?>" size="30">
            <label for="Artist">Artist&#58;</label>
            <input type="text" name="Artist" value="<?php echo $row&#91;"Artist"&#93; ?>"size="30">
            <label for="Year">Year&#58;</label>
            <input type="text" name="Year" value="<?php echo $row&#91;"Year"&#93; ?>" size="30">
            <label for="Comments">Comments&#58;</label>
            <input type="text" name="Comments" value="<?php echo $row&#91;"Comments"&#93; ?>" size="30">
            <label for="Genre">Genre&#58;</label>
            <input type="text" name="Genre" value="<?php echo $row&#91;"Genre"&#93; ?>" size="30">
            <input type="hidden" name="id" value="<?php echo $id ?>">
            <p><input type="submit" name="submit" value="submit"></p>
          </fieldset>
        </form>
<?php
&#125;
mysql_free_result&#40;$result&#41;;
   &#125; ?>
</body>
</html>
Ο κώδικας σηκώνει πολλές βελτιώσεις και σαφώς θα ήταν καλύτερα να γραφεί με Object Oriented λογική αντί Procedural.

kilikeio
Δημοσιεύσεις: 52
Εγγραφή: 08 Ιούλ 2008 16:53

edit φορμας php mysql

Δημοσίευση από kilikeio » 13 Δεκ 2009 23:50

thnx Παρα παρα πολυ!!! μακαρι να ειχα τις γνωσεις σου αλλα τωρα ασχολουμαι & μαθαινω. θα την ψαξω και λιγο με την object oriented να δω τι παιζει. ευχαριστω και παλι!!

Άβαταρ μέλους
dimsis
Reporter
Δημοσιεύσεις: 7994
Εγγραφή: 25 Ιούλ 2001 03:00

edit φορμας php mysql

Δημοσίευση από dimsis » 13 Δεκ 2009 23:57

Να'σαι καλά.
btw PHP δεν γνωρίζω. Παίζω λίγο μαζί της ίσα ίσα να δω τα βασικά της.
Καλή συνέχεια.

argate7
Δημοσιεύσεις: 233
Εγγραφή: 30 Σεπ 2009 02:38

edit φορμας php mysql

Δημοσίευση από argate7 » 22 Δεκ 2009 14:11

Στην περίπτωση που θες να διαγράψεις κάποια από τα δεδομένα σου?? Τί κάνεις εκεί? Ξέρω γω εκεί που έχει το edit στην index.php να βάλουμε ακόμα μία στήλη που να λέει "Delete"...Κάτι τέτοιο δεν θα έχουμε...
Print "<td><a href=\"delete.php?id=".$row['id']."\">Delete</a></td> ";

???

Μέσα όμως στην delete, πως θα γίνονται οι εντολές? Λογικά θα είναι κάτι σε στυλ...Delete from table where id = '$_POST[id]'?? Πως θα μπορέσω να το κάνω έτσι όπως είναι περίπου στην edit,αλλά χωρίς να υπάρχει η φόρμα??

argate7
Δημοσιεύσεις: 233
Εγγραφή: 30 Σεπ 2009 02:38

edit φορμας php mysql

Δημοσίευση από argate7 » 22 Δεκ 2009 14:53

Δοκιμάζω αυτό εδώ...

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

<?php
$con = mysql_connect&#40;"localhost","root",""&#41;;
if &#40;!$con&#41;
  &#123;
  die&#40;'Could not connect&#58; ' . mysql_error&#40;&#41;&#41;;
  &#125;

mysql_select_db&#40;"dokimh", $con&#41;;

mysql_query&#40;"DELETE FROM table WHERE id='$_GET&#91;id&#93;'"&#41;;
header&#40;"Location&#58; index.php"&#41;;
mysql_close&#40;$con&#41;;
?> 
αλλά δεν δουλεύει. Δεν διαγράφει τα στοιχεία...

Και κάτι ακόμα..Αν θέλουμε να διαγράψουμε ένα αρχείο txt ή jpeg από ένα φάκελο ταυτόχρονα με τη διαγραφή μιας εγγραφής που σχετίζεται με το συγκεκριμένο αρχείο,πως το κάνουμε??

argate7
Δημοσιεύσεις: 233
Εγγραφή: 30 Σεπ 2009 02:38

edit φορμας php mysql

Δημοσίευση από argate7 » 22 Δεκ 2009 15:23

Τελικά βρήκα τη λύση...

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

<?php
   $con = mysql_connect&#40;"localhost","root",""&#41;;
   if &#40;!$con&#41; &#123; die&#40;'Could not connect&#58; ' . mysql_error&#40;&#41;&#41;; &#125;
   mysql_select_db&#40;"dokimh", $con&#41;;  
   if &#40;isset&#40;$_GET&#91;"id"&#93;&#41;&#41;
   &#123;
      $id = $_GET&#91;"id"&#93;;
      $sql = "delete FROM table WHERE id='$id'";
      $result = mysql_query&#40;$sql&#41;;       
&#125;
header&#40;"Location&#58; index.php"&#41;;
mysql_close&#40;$con&#41;;
?>
Στο ένα μόνο σκέλος...
Αν θέλω να διαγράψω την εικόνα από το φάκελο...Τί κάνω?? Εκτός από το σταυρό μου...

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

edit φορμας php mysql

Δημοσίευση από fafos » 22 Δεκ 2009 15:31

argate7 έγραψε:Τελικά βρήκα τη λύση...

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

<?php
   $con = mysql_connect&#40;"localhost","root",""&#41;;
   if &#40;!$con&#41; &#123; die&#40;'Could not connect&#58; ' . mysql_error&#40;&#41;&#41;; &#125;
   mysql_select_db&#40;"dokimh", $con&#41;;  
   if &#40;isset&#40;$_GET&#91;"id"&#93;&#41;&#41;
   &#123;
      $id = $_GET&#91;"id"&#93;;
      $sql = "delete FROM table WHERE id='$id'";
      $result = mysql_query&#40;$sql&#41;;       
&#125;
header&#40;"Location&#58; index.php"&#41;;
mysql_close&#40;$con&#41;;
?>
Στο ένα μόνο σκέλος...
Αν θέλω να διαγράψω την εικόνα από το φάκελο...Τί κάνω?? Εκτός από το σταυρό μου...
ti titlo dineis sthn eikona? yparxei kapou apothikeumenos? einai idios me to id?
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

argate7
Δημοσιεύσεις: 233
Εγγραφή: 30 Σεπ 2009 02:38

edit φορμας php mysql

Δημοσίευση από argate7 » 22 Δεκ 2009 15:58

Λοιπόν...Στον πίνακα έχω τα εξής πεδία : id,name,path,thumb...Στο path και το thumb είναι οι εικόνες..Στο path είναι το name της εικόνας και στο thumb το name της εικόνας πάλι,αλλά μέσα στον κώδικα εμφανίζεται σαν thumb.
Στην κεντρική σελίδα εμφανίζω όλα τα πεδία εκτός από το path.Δηλαδή το id, το name και το thumb. Και θέλω μαζί με το row που θα διαγράφω,να διαγράφεται και από το φάκελο η εικόνα. Χρησιμοποιώ τον παρακάτω κώδικα όπου έχει αναλυθεί σε άλλο thread με τον dimsis

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

<?php
$con = mysql_connect&#40;"localhost","root",""&#41;;
	if &#40;!$con&#41; &#123; die&#40;'Could not connect&#58; ' . mysql_error&#40;&#41;&#41;; &#125;
	mysql_select_db&#40;"dokimh", $con&#41;;

	
	$tbl_name="tblImages";      //your table name
	// How many adjacent pages should be shown on each side?
	$adjacents = 3;
   
	$query = "SELECT COUNT&#40;*&#41; as num FROM $tbl_name";
	$total_pages = mysql_fetch_array&#40;mysql_query&#40;$query&#41;&#41;;
	$total_pages = $total_pages&#91;num&#93;;
   
	/* Setup vars for query. */
	$targetpage = "pagination.php";    //your file name  &#40;the name of this file&#41;
	$limit = 5;                         //how many items to show per page
	$page = $_GET&#91;'page'&#93;;
	if&#40;$page&#41;
	  $start = &#40;$page - 1&#41; * $limit;          //first item to display on this page
	else
	  $start = 0;                        //if no page var is given, set start to 0
   
	/* Get data. */
	/* Setup page vars for display. */
	if &#40;$page == 0&#41; $page = 1;               //if no page var is given, default to 1.
	$prev = $page - 1;                     //previous page is page - 1
	$next = $page + 1;                     //next page is page + 1
	$lastpage = ceil&#40;$total_pages/$limit&#41;;      //lastpage is = total pages / items per page, rounded up.
	$lpm1 = $lastpage - 1;                  //last page minus 1
   
	/*
	  Now we apply our rules and draw the pagination object.
	  We're actually saving the code to a variable in case we want to draw it more than once.
	*/
   $pagination = "";
   if&#40;$lastpage > 1&#41;
   &#123;   
      $pagination .= "<div class=\"pagination\">";
      //previous button
      if &#40;$page > 1&#41;
         $pagination.= "<a href=\"$targetpage?page=$prev\">&laquo; previous</a>";
      else
         $pagination.= "<span class=\"disabled\">&laquo; previous</span>";   
      
      //pages   
      if &#40;$lastpage < 7 + &#40;$adjacents * 2&#41;&#41;   //not enough pages to bother breaking it up
      &#123;   
         for &#40;$counter = 1; $counter <= $lastpage; $counter++&#41;
         &#123;
            if &#40;$counter == $page&#41;
               $pagination.= "<span class=\"current\">$counter</span>";
            else
               $pagination.= "<a href=\"$targetpage?page=$counter\">$counter</a>";               
         &#125;
      &#125;
      elseif&#40;$lastpage > 5 + &#40;$adjacents * 2&#41;&#41;   //enough pages to hide some
      &#123;
         //close to beginning; only hide later pages
         if&#40;$page < 1 + &#40;$adjacents * 2&#41;&#41;      
         &#123;
            for &#40;$counter = 1; $counter < 4 + &#40;$adjacents * 2&#41;; $counter++&#41;
            &#123;
               if &#40;$counter == $page&#41;
                  $pagination.= "<span class=\"current\">$counter</span>";
               else
                  $pagination.= "<a href=\"$targetpage?page=$counter\">$counter</a>";               
            &#125;
            $pagination.= "...";
            $pagination.= "<a href=\"$targetpage?page=$lpm1\">$lpm1</a>";
            $pagination.= "<a href=\"$targetpage?page=$lastpage\">$lastpage</a>";      
         &#125;
         //in middle; hide some front and some back
         elseif&#40;$lastpage - &#40;$adjacents * 2&#41; > $page && $page > &#40;$adjacents * 2&#41;&#41;
         &#123;
            $pagination.= "<a href=\"$targetpage?page=1\">1</a>";
            $pagination.= "<a href=\"$targetpage?page=2\">2</a>";
            $pagination.= "...";
            for &#40;$counter = $page - $adjacents; $counter <= $page + $adjacents; $counter++&#41;
            &#123;
               if &#40;$counter == $page&#41;
                  $pagination.= "<span class=\"current\">$counter</span>";
               else
                  $pagination.= "<a href=\"$targetpage?page=$counter\">$counter</a>";               
            &#125;
            $pagination.= "...";
            $pagination.= "<a href=\"$targetpage?page=$lpm1\">$lpm1</a>";
            $pagination.= "<a href=\"$targetpage?page=$lastpage\">$lastpage</a>";      
         &#125;
         //close to end; only hide early pages
         else
         &#123;
            $pagination.= "<a href=\"$targetpage?page=1\">1</a>";
            $pagination.= "<a href=\"$targetpage?page=2\">2</a>";
            $pagination.= "...";
            for &#40;$counter = $lastpage - &#40;2 + &#40;$adjacents * 2&#41;&#41;; $counter <= $lastpage; $counter++&#41;
            &#123;
               if &#40;$counter == $page&#41;
                  $pagination.= "<span class=\"current\">$counter</span>";
               else
                  $pagination.= "<a href=\"$targetpage?page=$counter\">$counter</a>";               
            &#125;
         &#125;
      &#125;
      //next button
      if &#40;$page < $counter - 1&#41;
         $pagination.= "<a href=\"$targetpage?page=$next\">next &raquo;</a>";
      else
         $pagination.= "<span class=\"disabled\">next &raquo;</span>";
      $pagination.= "</div>\n";      
   &#125;
?>
<?php
   $sql = "SELECT * FROM $tbl_name $max ORDER BY id LIMIT $start, $limit";
   $result = mysql_query&#40;$sql&#41; or die&#40;mysql_error&#40;&#41;&#41;;;
	Print "<table border=1 align=center cellpadding=3>";
	$upload_url = 'UploadedImages/';
    $thumb = $upload_url.$rows&#91;'thumb'&#93;;
	$diastaseis = 'width=100 , height=80';
	Print "<tr><th>ID</th><th>Title</th><th>Thumb</th><th>Edit</th><th>Delete</th></tr>";	  
    while&#40;$row = mysql_fetch_array&#40;$result&#41;&#41;  &#123;
	Print "<tr>";
	Print "<td>".$row&#91;'id'&#93;."</td> ";
 	Print "<td>".$row&#91;'name'&#93;."</td>";
	Print "<td><img src=\"$thumb\" $diastaseis></td>";
	Print "<td><a href=\"edit.php?id=".$row&#91;'id'&#93;."\">Edit</a></td> ";
	Print "<td><a href=\"delete2.php?id=".$row&#91;'id'&#93;."\">Delete</a></td> ";
	Print "</tr>";
	&#125;
	Print "</table>";
	mysql_close&#40;$con&#41;;
   ?>
<?php echo $pagination?>
Εδώ τα εμφανιζω όλα..Και έχω ένα button το οποίο καλεί την delete2.php
Μέσα στην delete2.php αρχικά έχω αυτό :

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

<?php
   $con = mysql_connect&#40;"localhost","root",""&#41;;
   if &#40;!$con&#41; &#123; die&#40;'Could not connect&#58; ' . mysql_error&#40;&#41;&#41;; &#125;
   mysql_select_db&#40;"dokimh", $con&#41;;  
   if &#40;isset&#40;$_GET&#91;"id"&#93;&#41;&#41;
   &#123;
      $id = $_GET&#91;"id"&#93;;
      $sql = "delete FROM testingtable WHERE id='$id'";
      $result = mysql_query&#40;$sql&#41;;       
&#125;
header&#40;"Location&#58; pagination.php"&#41;;
mysql_close&#40;$con&#41;;
?>
Οπότε μέσα σε αυτή λοιπόν θέλω να διαγράφει την εικόνα από το φάκελο UploadedImages.

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

edit φορμας php mysql

Δημοσίευση από fafos » 22 Δεκ 2009 16:05

me ena query (prin kaneis delete thn eggrafh) kaleis to path ths eikonas (kai thn eikona) kai kaneis unlink:

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


<?php
   $con = mysql_connect&#40;"localhost","root",""&#41;;
   if &#40;!$con&#41; &#123; die&#40;'Could not connect&#58; ' . mysql_error&#40;&#41;&#41;; &#125;
   mysql_select_db&#40;"dokimh", $con&#41;; 
   if &#40;isset&#40;$_GET&#91;"id"&#93;&#41;&#41;
   &#123;
$id = $_GET&#91;"id"&#93;;


...edo to select image from table where id=$id...

//delete image
@unlink&#40;$image&#41;;



      $sql = "delete FROM table WHERE id='$id'";
      $result = mysql_query&#40;$sql&#41;;       
&#125;
header&#40;"Location&#58; index.php"&#41;;
mysql_close&#40;$con&#41;;
?> 

      


(to papaki ase to mprosta gia na mhn sou petaei lathos otan den yparxei eikona)
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

argate7
Δημοσιεύσεις: 233
Εγγραφή: 30 Σεπ 2009 02:38

edit φορμας php mysql

Δημοσίευση από argate7 » 22 Δεκ 2009 16:34

Εννοείς κάτι τέτοιο??

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

<?php
   $con = mysql_connect&#40;"localhost","root",""&#41;;
   if &#40;!$con&#41; &#123; die&#40;'Could not connect&#58; ' . mysql_error&#40;&#41;&#41;; &#125;
   mysql_select_db&#40;"dokimh", $con&#41;;  
   if &#40;isset&#40;$_GET&#91;"id"&#93;&#41;&#41;
   &#123;
      $id = $_GET&#91;"id"&#93;;
	  $name = "select thumb from table where id='$id'";
	  @unlink&#40;$name&#41;;
      $sql = "delete FROM table WHERE id='$id'";
      $result = mysql_query&#40;$sql&#41;;       
&#125;
header&#40;"Location&#58; index.php"&#41;;
mysql_close&#40;$con&#41;;
?>
Δεν μου δουλεύει αυτό πάντως..Ακόμα οι εικόνες είναι μέσα στο φάκελο...

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

edit φορμας php mysql

Δημοσίευση από fafos » 22 Δεκ 2009 16:45

unlink ena query? ligo dyskolo.. :lol:

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

  	$query = "select thumb,path from table where id='$id'";
	$result = mysql_db_query&#40;'dokimh', $query, $con&#41;;
	$data = @mysql_fetch_array&#40;$result&#41;;

@unlink&#40;$data&#91;path&#93;.$data&#91;thumb&#93;&#41;; 
evala kai to path afou opos les to sozeis sthn vash kai auto..
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

argate7
Δημοσιεύσεις: 233
Εγγραφή: 30 Σεπ 2009 02:38

edit φορμας php mysql

Δημοσίευση από argate7 » 22 Δεκ 2009 16:52

Fafos έκανα αυτά που μου έγραψες αλλά δεν πιάνει.. Σου δίνω να δεις ακριβώς τον κώδικα του delete μήπως έχω κάνει κάποιο λάθος..

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

<?php
   $con = mysql_connect&#40;"localhost","root",""&#41;;
   if &#40;!$con&#41; &#123; die&#40;'Could not connect&#58; ' . mysql_error&#40;&#41;&#41;; &#125;
   mysql_select_db&#40;"dokimh", $con&#41;;  
   if &#40;isset&#40;$_GET&#91;"id"&#93;&#41;&#41;
   &#123;
      $id = $_GET&#91;"id"&#93;;
	  $query = "select thumb from table where id='$id'";
	  $result1 = mysql_db_query&#40;'dokimh', $query, $con&#41;;
	  $data = @mysql_fetch_array&#40;$result1&#41;;
	  @unlink&#40;$data&#91;thumb&#93;&#41;; 
      $sql = "delete FROM table WHERE id='$id'";
      $result = mysql_query&#40;$sql&#41;;       
&#125;
header&#40;"Location&#58; index.php"&#41;;
mysql_close&#40;$con&#41;;
?>
Δοκίμασα αυτό που μου έγραψες και τίποτα. Μετά δοκίμασα να αφαιρέσω μόνο το thumb,αλλά και πάλι τίποτα..Τα αρχεία παραμένουν μέσα στο φάκελο.

Απάντηση

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

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

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