Delete με checkbox

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

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

Απάντηση
Άβαταρ μέλους
loxy
Δημοσιεύσεις: 208
Εγγραφή: 17 Ιούλ 2007 01:18

Delete με checkbox

Δημοσίευση από loxy » 27 Δεκ 2008 21:08

Το θεμα του τοπικ, ειναι το τελευταιο σκριπτακι της πτυχιακης μου, αλλα δεν βγαζω ακρη εδω και καιρο.

Τελειωνω το Admin Center , και το οποιο θα περιλαμβανει ΒΑΝ χρηστων ( userid για την ακριβεια, και οχι των IP's αυτων).

Εμφανιζω σε ενα πινακα 3-4 βασικα πεδια της εγγραφης , ωστε ο admin να σιγουρευτει για τον χρηστη, και διπλα εχω ενα checkbox.
H αληθεια ειναι , μετα απο ενα σημειο του τοπικ μπερδευτηκα εντελως , ενω περιμενα να ειναι πιο ευκολο.

Αυτη ειναι η φορμα που φαινονται ολοι οι χρηστες ( banusers.php )

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

	<form method="post" action="bancheck.php ">
		<?	
			echo "<tr>
						<td align=center>".$loginname."</td>
						<td align=center>".$username."</td>
						<td align=center>".$surname."</td>
					   <td align=center><input type='checkbox'  name='checkbox&#91;&#93;' id='".$uid."'></td>
					</tr> " ;
		&#125;
	?>
	</table>
	<? echo "<br>Σελίδες' . $first . $prev . $nav . $next . $last . '"; 
	?>
	
  <input type="submit" name="submitbtn" value="Ban User&#40;s&#41;">
  </form>
<?
  &#125;
και αυτο ειναι το σκριπτ που κανει την ολη λειτουργια ( bancheck.php )

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

 if&#40;$_POST&#91;'submitbtn'&#93; != ""&#41; 
&#123;
   
   for&#40;$i=0;$i<$numrows;$i++&#41;
   &#123;
   $checkedID = $checkbox&#91;$i&#93;;
   
   $query = "UPDATE  users
        SET Banned=1 WHERE UserID='$checkedID'";
$result = mysql_query&#40;$query&#41; or die&#40;mysql_error&#40;&#41;&#41;;
   &#125;
    
	if&#40;$result&#41;
	  &#123;
	   echo " User has been banned.";
	  &#125;
	  else 
	  &#123;
	   echo " User has NOT been banned.";
	  &#125;

Το $numrows το εχω σε SESSION που μετραει ποσες ειναι οι εγγραφες

Παραδοξως, το μηνυμα "User has been banned." το εμφανιζει ενω στη βαση δεν εχει αλλαξει κατι.

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

Delete με checkbox

Δημοσίευση από fafos » 27 Δεκ 2008 21:31

1on.. an hmoun kathighths sou tha sou ekova 2 monades giati kaneis echo html stoixeia.. :D


auto me to $numrows den katalavaino pou ofelei? esena sou xreiazete to foreach... gyrna piso merika posts kai koita pos to dinei o Alice..

Άβαταρ μέλους
loxy
Δημοσιεύσεις: 208
Εγγραφή: 17 Ιούλ 2007 01:18

Delete με checkbox

Δημοσίευση από loxy » 27 Δεκ 2008 22:02

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

 echo "<tr>
                  <td align=center>".$loginname."</td>
                  <td align=center>".$username."</td>
                  <td align=center>".$surname."</td>
                  <td align=center><input type='checkbox'  name='checkbox&#91;&#93;' id='".$uid."'></td>
               </tr> " ; 
1)Αυτα εννοεις ;
Δηλαδη θα ηταν καλυτερο, να τα αφησω με απλη html ;

Σχετικα με τους βαθμους , καλο ειναι να μην αναφερεις τιποτα ( για "-" ) ,
γιατι μαλλον τον ενα απο τους καθηγητες ( αν κρινω απο ενα nickname ), τον εχουμε στην παρεα μας και δεν πρεπει να του μπαινουν τετοιες ιδεες... :lol:

Ειδα τα ποστ του Alice , απλως χαθηκα απο ενα σημειο και μετα...

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

Delete με checkbox

Δημοσίευση από fafos » 27 Δεκ 2008 22:14

nai auta enoo.. oso ginetai, na ta apofeugeis auta giati h php den einai paidi gia oles tis douleies na thn kaleis xoris logo...

oso gia to foreach tha prpei na einai kapos etsi:

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


if &#40;$_POST&#91;'checkbox'&#93;&#41;&#123;
foreach&#40;$_POST&#91;'checkbox'&#93; as $checkedID&#41;&#123;
   $query = "UPDATE  `users`  SET `Banned`='1' WHERE `UserID`='$checkedID'"; 
    mysql_query&#40;$query&#41;;

&#125;
    echo " User&#40;s&#41; has been banned.";

&#125;   

kai mhn ksexnas ta anapoda autakia (ektos an emathes tis reserved lekseis apekso) :D

Άβαταρ μέλους
loxy
Δημοσιεύσεις: 208
Εγγραφή: 17 Ιούλ 2007 01:18

Delete με checkbox

Δημοσίευση από loxy » 27 Δεκ 2008 22:51

Χαχαχα!
Δεν τις εμαθα απ 'εξω ,αλλα το πρωτο πραγμα που ελεγχω οταν δεν τρεχει ενα Mysql ερωτημα , πλεον ειναι αυτο...

Άβαταρ μέλους
loxy
Δημοσιεύσεις: 208
Εγγραφή: 17 Ιούλ 2007 01:18

Delete με checkbox

Δημοσίευση από loxy » 28 Δεκ 2008 01:47

Σορρυ για το πρηξιμο , αλλα το παλευω τοση ωρα και δε γινεται τιποτα...

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

<?php session_start&#40;&#41;; ?>
<?php include 'dbConnect.php'; ?> 
<html> 
<head>
<meta http-equiv=Content-Type content="text/html; charset=iso-8859-7">
<meta http-equiv="Content-Language" content="el">
<link href="admin.css" rel="stylesheet" type="text/css" />
<title>  Ban Users .&#58;.  </title>
</head>
<body>

<div id="header"> </div>
<div id="container">
<?
if&#40;!empty&#40;$_SESSION&#91;'LoggedIn'&#93;&#41; && !empty&#40;$_SESSION&#91;'LoginName'&#93; &#41; &#41;
&#123;
?>	   
	  <center> <h2>Προβολή μελών </h2></center>
	  <table border="1"  cellpadding="3">

 <?


  // how many rows to show per page
		$rowsPerPage = 10;
		
		// by default we show first page
		$pageNum = 1;
		
		// if $_GET&#91;'page'&#93; defined, use it as page number
		if&#40;isset&#40;$_GET&#91;'page'&#93;&#41;&#41;
		&#123;
			$pageNum = $_GET&#91;'page'&#93;;
		&#125;
		
		// counting the offset
		$offset = &#40;$pageNum - 1&#41; * $rowsPerPage;
		
		$query = " SELECT * FROM users   LIMIT ".$offset.",".$rowsPerPage;
		
				
		$query_result = mysql_query&#40;$query&#41; or die&#40;'Error, query failed'&#41;;
		
		// how many rows we have in database
		$query2   = "SELECT COUNT&#40;*&#41; AS numrows FROM users";
		$query_result2  = mysql_query&#40;$query2&#41; or die&#40;'Error, query failed'&#41;;
		$row     = mysql_fetch_array&#40;$query_result2, MYSQL_ASSOC&#41;;
		$numrows = $row&#91;'numrows'&#93;;
		
	
		
		// how many pages we have when using paging?
		$maxPage = ceil&#40;$numrows/$rowsPerPage&#41;;
		
		// print the link to access each page
		$self = $_SERVER&#91;'PHP_SELF'&#93;;
		$nav  = '';
		
		for&#40;$page = 1; $page <= $maxPage; $page++&#41;
		&#123;
		   if &#40;$page == $pageNum&#41;
		   &#123;
			  $nav .= " $page "; // no need to create a link to current page
		   &#125;
		   else
		   &#123;
			  $nav .= " <a href=\"$self?page=$page\">$page</a> ";
		   &#125;
		&#125;
		
		if &#40;$pageNum > 1&#41;
		&#123;
		   $page  = $pageNum - 1;
		   $prev  = " <a href=\"$self?page=$page\">&#91;Προηγούμενη σελίδα&#93;</a> ";
		
		   $first = " <a href=\"$self?page=1\">&#91;Πρώτη σελίδα&#93;</a> ";
		&#125;
		else
		&#123;
		   $prev  = '&nbsp;'; // we're on page one, don't print previous link
		   $first = '&nbsp;'; // nor the first page link
		&#125;
		
		if &#40;$pageNum < $maxPage&#41;
		&#123;
		   $page = $pageNum + 1;
		   $next = " <a href=\"$self?page=$page\">&#91;Επόμενη σελίδα&#93;</a> ";
		
		   $last = " <a href=\"$self?page=$maxPage\">&#91;Τελευταία σελίδα&#93;</a> ";
		&#125;
		else
		&#123;
		   $next = '&nbsp;'; // we're on the last page, don't print next link
		   $last = '&nbsp;'; // nor the last page link
		&#125;
		
		echo "<b><h4> Βρέθηκαν ".$numrows." μέλη ,<h4></b>";
		// print the navigation link
		echo "<b>Σελίδες" . $first . $prev . $nav . $next . $last . "</b><br><br>";

		?>

		          <tr>
					<td><b>Login Name</td>
					<td><b>Όνομα </td>
					<td><b>Επίθετο</td>
					<td><b>Ban</td>
							
				</tr>
		<?	
			while &#40;$results = mysql_fetch_assoc&#40;$query_result&#41;&#41;
			&#123;
			
			$loginname=$results&#91;'LoginName'&#93;;
			$uid=$results&#91;'UserID'&#93;;
			$username=$results&#91;'UserName'&#93;;
			$surname=$results&#91;'Surname'&#93;;
			
		
		?>	
			<form method="post"  action="<? echo $_SERVER&#91;'PHP_SELF'&#93;; ?>" method="post">
			
			<tr>
						<td align=center><?echo ".$loginname."; ?></td>
						<td align=center><?echo ".$username." ; ?></td>
						<td align=center><?echo ".$surname." ; ?></td>
					   <td align=center><input type="checkbox"  name="checkbox&#91;&#93;" value="<? echo ".$uid." ; ?>" id="<? echo "$uid" ;?>"></td>
			</tr> 
	<?
	&#125;
	?>
	</table>
	<? echo "Σελίδες' . $first . $prev . $nav . $next . $last . '"; 
if &#40;$_POST&#91;'checkbox'&#93;&#41;
&#123;
    foreach&#40;$_POST&#91;'checkbox'&#93; as $checkedID&#41;
	&#123;
    $query = "UPDATE  `users`  SET `Banned`='1' WHERE `UserID`='$checkedID'";
     $banquery=mysql_query&#40;$query&#41; or die &#40;mysql_error&#40;&#41;&#41;;
    &#125;	

  if &#40;$banquery&#41;
	&#123;
	echo " User&#40;s&#41; have been banned.";
	&#125;
	else
    &#123;
	echo " User&#40;s&#41; have NOT been banned.";
	&#125;
&#125;    	 
 
&#125;
else 
&#123;
 echo " You have to login as an admin , to view this page." ;
&#125;
?>
		<input type="submit" name="submitbtn" value="Ban User">
 </form>
 


</div>
<div id="footer"> </div>
</body>
</html>

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

Delete με checkbox

Δημοσίευση από fafos » 28 Δεκ 2008 03:36

1. exeis thn <form...> mesa sto while me apotelesma na "gennas" toses formes oses fores looparei auto to while..

phgaine to: <form method="post" action="<? echo $_SERVER['PHP_SELF']; ?>" method="post">

pano apo ta: <table border="1" cellpadding="3">

MEION 3 MONADES!!!


2. kaneis echo mia metablhth me "autakia" kai teleies: <td align=center><input type="checkbox" name="checkbox[]" value="<? echo ".$uid." ; ?>" id="<? echo "$uid" ;?>"></td>

auto exei san apotelesma na pairnei to id mazi me 2 teleies... p.x. .1. .... kane ta <? echo $uid; ?>

MEION 2 MONADES!!!

SYNOLO: MEION 5 MONADES... ara perna tou xronou me mia nea ptyxiakh :lol:

ksamole
Δημοσιεύσεις: 92
Εγγραφή: 08 Οκτ 2006 04:43

Delete με checkbox

Δημοσίευση από ksamole » 28 Δεκ 2008 10:58

κατι αλλο...

Πως τσεκαρω στην φορμα ολα τα checkboxes με javascript ?

Άβαταρ μέλους
loxy
Δημοσιεύσεις: 208
Εγγραφή: 17 Ιούλ 2007 01:18

Delete με checkbox

Δημοσίευση από loxy » 28 Δεκ 2008 12:02

fafos έγραψε:1. exeis thn <form...> mesa sto while me apotelesma na "gennas" toses formes oses fores looparei auto to while..
Τελευταια το αλλαξα αυτο, πανω στους πειραματισμους απο την απελπισια μου...
fafos έγραψε:
2. kaneis echo mia metablhth me "autakia" kai teleies: <td align=center><input type="checkbox" name="checkbox[]" value="<? echo ".$uid." ; ?>" id="<? echo "$uid" ;?>"></td>
Μαλλον εδω ηταν το προβλημα τοσο καιρο, και επαιρνε π.χ. το "1" ως ".1." .
Που να γινει το update μετα ; :evil:

@fafos , ειμαι ευγνωμων ειλικρινα για ολη σου τη βοηθεια, αλλα
ελπιζω να μην εισαι καθηγητης, γιατι πτυχιο θα επαιρνα το 2050... 8)
Ασε που καπου εδω τελειωνουν και τα βασανα σου, μιας και μπαινω και φανταρος το Φλεβαρη... :lol:

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

Delete με checkbox

Δημοσίευση από fafos » 28 Δεκ 2008 15:07

Hmoun kathighths alla oxi sthn plhroforikh :D

Sou euxomai kalh stadiodromia kai.... kalos poliths :P

Άβαταρ μέλους
loxy
Δημοσιεύσεις: 208
Εγγραφή: 17 Ιούλ 2007 01:18

Delete με checkbox

Δημοσίευση από loxy » 28 Δεκ 2008 15:29

:) :wink:

Απάντηση

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

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

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