Just nu i M3-nätverket
Gå till innehåll

Min databas uppdateras inte


Diver Girl

Rekommendera Poster

Jag har snart min webbsida klar, men givetvis så har jag en funktion som inte jag får rätt på.

 

Jag ska kunna uppdatera min personal med följande kod:

 

 

[log]

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Blomstermåla Rockfestival</title>

</head>

<body> 
<?php
include'header.php';
?>
<div id='container'>
<div id='content'>
  <?php   	

     extract ( $_POST );
     $isError = false;

  //Array for the text input fields
  $inputList = array("fname" => "Förnamn",
  "lname" => "Efternamn",
  "PID" => "Personnummer",
  "street" => "Gatuadress",
  "postCode" => "Postnummer",
  "address" => "Ort",
  "phone" => "Telefonnummer");


  $id = $_GET['id'];

  	echo '<script type="text/javascript">';
    	echo 'alert("Testar förnamnet 1: '. $fname .'");';
   	echo '</script>';



  //Request the personal's number of band members responsibility
  	 	$sqlQuery = "select * from worker where id = '$id'";

	//Connect to the database server
		$dbcnx = @mysql_connect('localhost', 'root', 'xxx');
		if(!$dbcnx) {
			echo '<p>Unable to connect to the database server at this time.</p>';
			exit();
		}

           //Select the festival database
		if(!@mysql_select_db('festival', $dbcnx)) {
			exit('<p>Unable to locate the Festival database at this time.</p>');
		}

		$resultQ = @mysql_query($sqlQuery, $dbcnx);
		if(!$resultQ) {
			exit('<p>Error performing query: ' . mysql_error() . '</p>');
 		}			

		if($row=mysql_fetch_array($resultQ)) {
		$fname = $row['firstName'];
		$lname = $row['lastName'];
		$street = $row['street'];
		$postCode = $row['postCode'];
		$address = $row['address'];
		$phone =  $row['phoneNo'];
		$PID = $row['personalID'];
		}

		echo '<script type="text/javascript">';
    		echo 'alert("Testar förnamnet 2: '. $fname .'");';
   		echo '</script>';

     if(isset($submit)) {
  	if($fname == "") {
		$formerrors["fnameerror"] = true;
		$isError = true;
	}

	if($lname == "") {
		$formerrors["lnameerror"] = true;
		$isError = true;
	}

	if($PID == "") {
		$formerrors["PIDerror"] = true;
		$isError = true;
	}

	if($street == "") {
		$formerrors["streeterror"] = true;
		$isError = true;
	}

	if($postCode == "") {
		$formerrors["postCodeerror"] = true;
		$isError = true;
	}

	if($address == "") {
		$formerrors["addresserror"] = true;
		$isError = true;
	}

	if($phone == "") {
		$formerrors["phoneerror"] = true;
		$isError = true;
	}

        if ( !$isError ) {		

	 echo '<script type="text/javascript">';
    		echo 'alert("Testar förnamnet xx: '. $fname .'");';
   		echo '</script>'; 	 

           // build UPDATE query
           $sql = "UPDATE worker SET firstName = '$fname', lastName ='$lname', street = '$street', postCode = 
		'$postcode', address = '$address', phoneNo = '$phone', personalID = $PID where id = '$id'";		

		//Request the personal's number of band members responsibility
  	 	$sql2 = "select count(bm.bandName) as NumberOfMembers from worker w left join band b on 
		b.contactId = w.id left join bandmembers bm on bm.bandName = b.bandName where id =
		'$id'";	 

		//Connect to the database server
		$dbcnx = @mysql_connect('localhost', 'root', 'diver');
		if(!$dbcnx) {
			echo '<p>Unable to connect to the database server at this time.</p>';
			exit();
			}else{
			echo '<script type="text/javascript">';
    		echo 'alert("Testar förnamnet 8: '. $fname .'");';
   		echo '</script>';
		}



           //Select the festival database
		if(!@mysql_select_db('festival', $dbcnx)) {
			exit('<p>Unable to locate the Festival database at this time.</p>');
		}

           //Execute querys in festival database
		$result = @mysql_query($sql, $dbcnx);		 
		if(!$result) {
			print("Error updating personal");
		}	
		else {
			print("Ändringar har gjorts i databasen med följande information:<br />");
		}	

		$result2 = @mysql_query($sql2, $dbcnx);
		if(!$result2) {
			exit('<p>Error performing query: ' . mysql_error() . '</p>');
 		}

 		$value = mysql_result($result2, 0);


		echo '<script type="text/javascript">';
    		echo 'alert("Testar förnamnet 3: '. $fname .'");';
   		echo '</script>';


           print( "
              <table border = '0' cellpadding = '0' cellspacing = '10'>
              <tr><td>Namn</td></tr>
		   <tr><td>$fname $lname</td></tr>
              <tr><td>Gatuadress</td></tr>
		   <tr><td>$street</td></tr>
		   <tr><td>Postnr</td><td>Ort</td></tr>
		   <tr><td>$postCode</td><td>$address</td></tr>
		   <tr><td>Ansvarar för antal medlemmar</td></tr>
		   <tr><td>$value</td></tr>
		   <tr><td><a href='personal.php'>Till sidan med personallistan</a></td></tr>
              </table></div></div>
              </body></html>" );
           die();
        }
     }

  //-------------------------------------------------------------------
  //Default

  print( "<h3><br /><br />Ändringar i databasen</h3>
        Var vänlig fyll gör dina ändringar i fälten nedan<br /><br />" );

  print( "<!-- post form data to form.php -->
        <form method = 'post' action = '$_SERVER[php_SELF]?id=$id'>
	 <!--<input type='hidden' name='id' value='$_POST[$id]' />-->		 
	 ");

     foreach ( $inputList as $inputname => $inputalt ) {
        $inputtext = $inputvalues[ $inputname ];

	 echo '<script type="text/javascript">';
    		echo 'alert("Testar förnamnet 4: '. $fname .'");';
   		echo '</script>';

        print( "
	 <label><strong>$inputalt<br /></strong></label>
	 <input type = 'text' 
           name = '$inputname' value = '" . $$inputname . "' />" );

        if ( $formerrors[ ( $inputname )."error" ] == true ) 
           print( "<span style = 'color : red'>*</span>" );

        print( "<br />" );

 }

        print( "<!-- create a submit button -->
        <br />
        <input type = 'submit' class='confirmBtn' name = 'submit' value = 'Registrera'/><br /><br />
	 <a href='personal.php'>Tillbaka</a>" );

	 if ( $isError ) {
        print( "<br /><span style = 'color : red'>
           Fält med * måste fyllas i ordentligt.</span>
		</form></div></div></body></html>" );			
     }
  ?>

[/log]

 

Jag har lagt till en del alerter (ska bort sen) för att kolla hur värdet på fname beter sig under vägens lopp. Och alerterna visar att fname har det värdet som jag vill ha hela tiden, dvs den ändrar värde efter jag klickat på min Registrera-knapp och sidan laddas om och behåller det nya värdet hela tiden.

Jag får inga error och i slutändan får jag besked om att ändringarna är genomförda och presentationen visar det nya namnet.

 

MEN, ingen förändring i databasen alls! De gamla uppgifterna står kvar och om jag då går tillbaka till ursprungssidan där jag presenterar en lista (med select från databasen) på all personal så ser jag givetvis de gamla uppgifterna.

 

Någon som vet vad som felar??

 

Tack på förhand!

Diver Girl

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...