variablen

bebop

Grünschnabel
Hallo, falls das Thema hier schon behandelt worden ist tut es mir leid, ich hab nach mehrstündingem Suchen leider nichts gefunden, weder hier noch gegoogelt..

Das problem:
Ich habe ein Formular das nach vorheriger abfrage sagen wir n im Aussehen identische, aber über einen Index von einander unterscheidbare Eingabeblöcke generiert..(Schleife,natürlich). Es kann jetzt sein dass der User merkt, dass einer der Blöcke nicht gebraucht wird(und auch nicht in die DB soll).
Bisher hab ich dazu ein Eingabefeld und 'nen Button. Das Eingabefeld will wissen, welcher Block weg muss, der Button heißt (furchtbar kreativ...) oneLess.
Auf diese Weise funkt alles perfekt, der Eintrag wird rausgelöscht, die bisher eingetragen Daten bleiben beim neuladen erhalten, also alles as dannach kam rückt einfach einen Block vor..
Jetzt wird aber von mir gefordert,zu jedem Block einen Lösch-button zu tun, der da gleiche macht, nur ohne dass der user 'ne Zahl eingeben muss...

wie kann ich mit n verschieden Buttons das so machen, dass beim neuladen $_POST[oneLess] gesetzt ist und $_POST[defect] die Zahlt beinhaltet welche den zu löschenden Block identifiziert

Ich wäre sehr dankbar wenn mir da wer helfen kann, ich bin langsam am verzweifeln..

vll hilft ja wem der code,.. leider noch sehr unorthodox fürchte ich, da das mein erstes php projekt ist..

grüße, simon




PHP:
<?php session_start(); ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Charge adden</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
</head>
<body>
<h1>-=| Add a Batch |=-</h1>
<p>
<?php
include("../includes/zugriff2.php");
include("../includes/field_checks.php");
echo "<link rel='stylesheet' type='text/css' href='../includes/formate.css'>"; 
$uRights = getUserRights(); 



   	
   	
   	
if((isset($_POST['count'])|| isset($_POST['oneMore'])|| isset($_POST['oneLess'])|| isset($_POST['submit']))&& checkRight($uRights,$assamblingRights)){

    $chipsExist = true;
	//--> ab hier wird in die Datenbank eingetragen bis...
	
	 
	  if(isset($_POST['submit'])&& checkRight($uRights,$assamblingRights)){
	 $anz=$_POST['numchip'];
	  ///////////////Block um Chips in DB anzulegen
	 
	    for($k=1; $k<=$anz; $k++) {
	    	
			if (!empty( $_POST["ChipID$k"])&& isAChipNumber($_POST["chipnr$k"])){
	  
	         
	  
	   		echo "<p><font color='red'>-$k-te ID da!</font></p>";
	      	$chipid=$_POST["ChipID$k"];
	      	$cnum=$_POST["chipnr$k"];

	      	$bar=$_POST["barID$k"];
	      	$sol=$_POST["solID$k"];
	      	$customer=$_POST["customerID$k"];
	      	$comment=$_POST["comment$k"];
	      	
  
	      	$sql="INSERT INTO chips VALUES ('$chipid','$customer','$sol','$bar','$_POST[batchID]','$cnum','$comment') ";

		        
		        
		        $result = mysql_query($sql);
	        	if($result){
	        	echo "<p>Yeah Yeah Yeah (hat geklappt)</p>";
	        	
	    
		         	}else{
		          		echo "<p>-$k : (   ... </p>";
		          			$chipsExist = false;
		        	}
	        	
	        	
	      }else{
	     	
	     	if(empty( $_POST["ChipID$k"]))echo "<p><font color='red'>-$k-te ID fehlt!</font></p>";
	     	if(!isAChipNumber($_POST["chipnr$k"]))echo "<p><font color='red'>-$k-te Chipnummer fehlt oder ist inkorrekt!</font></p>";

	      	$chipsExist = false;
	      }
	    }
	  
	  
	  //Block um Charge anzulegen
	  if(isset($_POST['submit'])&& checkRight($uRights,$assamblingRights) && $chipsExist){
	  
	  
	  if (!empty( $_POST['batchID']) && !empty( $_POST['typID'])&& isADate($_POST['date'])&& $chipsExist){
	   
	  
	  	$sql="INSERT INTO batches VALUES 
	    ('$_POST[batchID]',$_POST[typID],'$_POST[empID]','$_POST[heatID]','$_POST[date]','$_POST[comment]')";
	    $result = mysql_query($sql);
	    if($result){
	  echo "<p>Charge erfolgreich angelegt</p>";
	    
	    }else{
	  echo "<p> : (   charge </p>";
	    }
	  
	  
	  
	    
	  
	 // <-- ...hier.
	 // ab hier Fehlermeldungen falls etwas mit den einträgen in den Feldern nicht stimmt.. -->
	    }else{
	  
	   if(empty( $_POST['batchID'])){echo "<p><font color='red'>- Chargen ID?</font></p>";}
	   if(empty( $_POST['typID'])){echo "<p><font color='red'>- typ ID ?</font></p>";}
	   
	   if(!isADate($_POST['date'])){echo "<p><font color='red'>-Falsches Datumsformat ?</font></p>";}
	  }
	    
	    
	    
	
	// <-- ...bis hier oder..
	}else {
		// etwas mit den RECHTEN nicht stimmt -->
	   	
	   	
	   	if (!checkRight($uRights,$assamblingRights)){ 
			echo "<p><font color='red'>- Du hast keine Rechte für diese Aktion(nicht eingeloggt)! </font></p>";
			}
	   	}
	   	// <--
	  }
   	










	$propId = getNextID('idbatch','batches');
	$date = date("Y.m.d");
	$GLOBALS['anz']=$_POST['chipnum'];
	if(isset($_POST['submit'])){ $anz=$_POST['numchip'];}
	if(isset($_POST['oneMore'])){$GLOBALS['anz']=$_POST['numchip']+1;}
	if(isset($_POST['oneLess'])){$GLOBALS['anz']=$_POST['numchip']-1;}

	if(isset($_POST['defect'])){echo"gesetzt: $_POST[defect]";}

	echo "<form action='$Server[PHP_SELF]' method='POST'>";

 	echo " <table>";
  	echo "  <tr><td>batchID:</td><td><input type='text' name='batchID' value='$propId'></td></tr>";
 	echo "  <tr><td>Datum:</td><td><input type='text' name='date' value='$date'></td></tr>";
 	echo "<tr><td>Anzahl der Chips in der Charge:</td><td><input type='text' name='numchip' value='$anz' readonly='readonly'></td></tr>";
 	echo "<tr><td>Typ:</td><td><select name='typID'>";

//block fuer TypCodes  
  
    $sql = "Select * from typeCodes";
    $tempQuery = mysql_query($sql);
    while($row = mysql_fetch_assoc($tempQuery)){
    echo"<option value=$row[idtypeCodes]";
    if($row[idtypeCodes]==$_POST[typID]){ echo" selected";}
    echo">$row[description] </option>";
    }


 	echo"</select></td></tr>";
 
 	echo "<tr><td>Zusammengestellt von:</td><td><select name='empID'>";

  //block fuer Angestellter:  
  
    $sql = "Select * from employees";
    $tempQuery = mysql_query($sql);
    while($row = mysql_fetch_assoc($tempQuery)){
    echo"<option value=$row[idemployee]";
    if($row[idemployee]==$_POST[empID]){ echo" selected";}
    echo">$row[short] - $row[name] </option>";
    }
    echo"</select></td></tr>";
	
 	echo "<tr><td>Wärmesenke:</td><td><select name='heatID'>";

  //block fuer Wärmesenken:  
  
    $sql = "Select * from heatsinks";
    $tempQuery = mysql_query($sql);
    while($row = mysql_fetch_assoc($tempQuery)){
    echo"<option value=$row[idheatsink]";
    if($row[idheatsink]==$_POST[heatID]){ echo" selected";}
    echo">$row[identifier] - $row[name] </option>";
    }
    echo"</select></td></tr>";
 
 

	echo "<tr><td>Kommentar:</td><td><textarea cols='64' rows='2'  name='comment' >$_POST[comment]</textarea></td></tr>";

echo " </table><br>";
echo " <table>";
////////// Schleife mit Eingabe für Chips:
		echo "<tr><td colspan= '4'><h2>Chips:</h2></td></tr>"; 
		if(isset($_POST['submit'])){ $anz=$_POST['numchip'];}
		for($i=1; $i<=$anz; $i++) {
			/*
			 * variablen übernehmen falls eintrag nicht funktioniert hat.
			 * die if-Abfrage sorgt dafür dass die richtigen Daten übernommen werden falls 
			 * ein Defekter chip aus der liste genommen wird.
			 * und Nein das geht nicht mit i++ an der stelle $_POST['defect']
			 */
			 if(isset($_POST['oneLess'])){
			  if($i<$_POST['defect']){
				$cid=$_POST["ChipID$i"];
				$cnr=$_POST["chipnr$i"];
				
				$cmt=$_POST["comment$i"];
				$ssq=$_POST["solID$i"];
				$scu=$_POST["customerID$i"];
				$sbr=$_POST["barID$i"];
				}else{
				    $j=$i+1;
					$cid=$_POST["ChipID$j"];
					$cnr=$_POST["chipnr$j"];

					$cmt=$_POST["comment$j"];
					$ssq=$_POST["solID$j"];
					$scu=$_POST["customerID$j"];
					$sbr=$_POST["barID$j"];
				}
				
			 }else{
			
			$cid=$_POST["ChipID$i"];
			
			if(isset($_POST["chipnr$i"]) ){$cnr=$_POST["chipnr$i"];}else{if($i==1){$cnr=$i;}else{$cnr=$cnr+1;}}
			
			$cmt=$_POST["comment$i"];
			$ssq=$_POST["solID$i"];
			$scu=$_POST["customerID$i"];
			$sbr=$_POST["barID$i"];
			}
			
			$propId = getNextID('idchip','chips');
			

	  		if(isset($cid)){$propId=$cid;}else{$propId = $propId+$i;}
	  		
	  		echo "<tr><td width='120'>ChipID$i</td><td width='148'><input type='text' name='ChipID$i' value='$propId'></td>";
	   		echo "<td width='180'>Chipnummer in Charge:</td><td width='500'><input type='text' name='chipnr$i' value='$cnr'></td></tr>";
			echo "<tr><td>Barren:</td><td><select name='barID$i'>";
			
			//block fuer Barren  
	  
		    $sql = "Select * from bars where avaiable=true";
		    $tempQuery = mysql_query($sql);
		    while($row = mysql_fetch_assoc($tempQuery)){
		    echo"<option value=$row[idbar]";
		    if($row[idbar]==$sbr){ echo" selected";}
		    echo">$row[idbar] </option>";
		    }
	
	
	 		echo"</select></td>";
	 		echo "<td>L&ouml;tqualit&auml;t:</td><td><select name='solID$i'>";
	
	  		//block fuer Loetqualitaet  
	
		    $sql = "Select * from solquality";
		    $tempQuery = mysql_query($sql);
		    while($row = mysql_fetch_assoc($tempQuery)){
	  

		    echo"<option value=$row[idsoldering_quality] ";
		    if($row[idsoldering_quality]==$ssq){ echo" selected";}
		    echo">$row[text] </option>";
		    }
		    echo"</select></td></tr>";
	    
	
			echo " <tr><td>Kunde:</td><td><select name='customerID$i'>";
	
	
		    $sql = "Select * from customers";
		    $tempQuery = mysql_query($sql);
		    while($row = mysql_fetch_assoc($tempQuery)){
		    	
		    
		    echo"<option value=$row[idcustomer]";
		    if($row[idcustomer]==$scu){ echo" selected";}
		    echo">$row[company] </option>";
		    }
	    
			
//			$oneMore ="Gib mir noch einen!";
//			$oneLess= "Defekt!";
			echo " </select></td></tr>";
			
			echo "<tr><td>Kommentar:</td><td colspan = '2'><textarea cols='50' rows='2'  name='comment$i' >$cmt</textarea></td><td></td></tr>";
	    	echo "<tr><td>---------------------------------</td><td colspan = '3'>-------------------------------------------------------------------------------------------------</td></tr>";
	  
	  		echo"</td></tr>";
	  		}


				
		$oneMore ="Gib mir noch einen!";
		$oneLess= "Defekt!";
		echo " <tr><td><input type='submit' value='Eintragen!' name='submit'></td><td><input type='submit' value= '$oneMore' name='oneMore'></td></tr>";
		echo " <tr><td</td><td><p>Chip # <input type='text' name='defect'> ist <input type='submit' value= '$oneLess' name='oneLess'></td></tr>";
		echo " </table>";
		
		echo "</form>";
		
	// <-- bis hier 
	
}else {
	
   	
   	
   	if (!checkRight($uRights,$assamblingRights)){ 
		echo "<p><font color='red'>- Du hast keine Rechte für diese Aktion(nicht eingeloggt)! </font></p>";
		}
   	}
 	
   	
   	

// Block um Anzahl der Chips festzulegen

echo "<form action='$Server[PHP_SELF]' method='POST'>";

 echo " <table>";
 echo " <tr><td>Wieviele Chips sind in der Charge? :</td><td><input type='text' name='chipnum'></td></tr>";
 
 //echo "<tr><td><a href='$link'>Weiter</a><tr><td>";
echo " <tr><td><input type='submit' value='anzeigen' name='count'></td></tr>";

echo " </table>";

echo "</form>";



mysql_close($conn);
 ?>
 
</p>
</body>
</html>

Ich muss dazu natürlich sagen, dass die Blöcke diejenigen sind die zu Eingabe Chips nötig sind.. (ab kommentar: schleife mit eingabe der chips). Ich hoffe die Antwort lässt nicht so lange auf sich warten weil die Frage so saublöd formuliert ist.. falls doch müsste ich auch erst wissen was unverständlich ist, damit ich es besser erklären kann.
 
Zuletzt bearbeitet:
Mh .. so wirklich weiss ich jetzt nicht was du möchtest, hab aber auch
ehrlich gesagt nicht so richtig lust mich in deinen Quelltext einzulsene.

Möchte dich aber vor weiteren Stunden des Suchens bewahren.
Wenn du das hier liest, mail mir einfach "nhitze@gmail.com" wenn
du immer noch nach einer Lösung suchst. Morgen hab ich mehr
Lust und auch die Zeit.

Schönen Abend, Nils
 
Zurück