webForumDet fria alternativet

uppdatera databasen

3 svar · 402 visningar · startad av jeme

jemeMedlem sedan mars 200518 inlägg
#1

Det är nånting som gör så att inte formuläret med informationen från databasen hämtas...

Sidan kan ni se här

<?php $connection = mysql_connect("localhost", "***", "***") or die("Kunde inte skapa koppling!");
			  mysql_select_db("***") or die("Kunde inte välja databas");
		 ?>
		 
		 <?php if(!empty($_POST['perform'])) 
			  	  {
				  	  $datum = $_POST['datum'];
				  	  $namn = $_POST['namn'];
				  	  $rubrik = $_POST['rubrik'];
				  	  $text = $_POST['text'];
				  	  $del = "UPDATE news SET datum = '$datum', namn = '$namn', text = '$text' WHERE rubrik = '$rubrik'";
			  		  mysql_query($del) or die("Det gick inte att radera från databasen!");
			  		  			  		  
			  		  print("Uppdaterade ett namn...<p/>");
		  		  }
		     ?>
		
		 	Välj ett namn som skall uppdateras...<br/>
		    <form method="POST" action="upd.php">
			  
				<select name="namn">
			  
			    <?php $hamta = "SELECT rubrik FROM news";
			  		  $resultat = mysql_query($hamta) or die("Det gick inte att hämta information från databasen!");
			     
			  		  while($rad = mysql_fetch_array($resultat))
			  		      print("<option value=" . $rad["rubrik"] . ">" . $rad["rubrik"]);

 			  		  mysql_free_result($resultat);
			  		
				 ?>
			  		   
			    </select>
			     
			    <input type="submit" value="Redigera">
			     
			</form>
			
		<?php
			  if(!empty($_POST['rubrik']) and empty($_POST['perform'])) 
			  {
				  
				  
			  $rubrik = $_POST['rubrik'];
			  $hamta = "SELECT * FROM news WHERE rubrik = '$rubrik'";
			  $resultat = mysql_query($hamta) or die("Det gick inte att hämta information från databasen!");
			  
			  $rad = mysql_fetch_object($resultat);
			  

				  print("Hämtade begärt namn för redigering: <b>");
				  print("<form method=POST action=upd.php>");
				  print("<input type=hidden name=rubrik value=" . $rad->rubrik . ">");
				  print("<input type=hidden name=perform value=upd>");
				  
				  print("<b>Dag</b><br/>");				  
				  print("<input type=text size=30 name=namn value=" . $rad->namn . "><p/>");
				  
				  print("<b>Månad</b><br/>");				  
				  print("<input type=text size=30 name=datum value=" . $rad->datum . "><p/>");
				  
				  print("<b>År</b><br/>");				  
				  print("<input type=text size=30 name=text value=" . $rad->text . "><p/>");
				  
				  print("<input type=submit value=Uppdatera><p/>");

			  
			  
			  mysql_free_result($resultat);
			  
		  		}
			  
			  
			  ?>
			  
		<?php mysql_close($connection);
		 ?>
@ndersMedlem sedan juni 200032 969 inlägg
#2

Det här skulle ju kunna ha något med det att göra, funderar en som inte kan php:

<select name="namn">
if(!empty($_POST['rubrik'])  ........
jemeMedlem sedan mars 200518 inlägg
#3

Halvvägs... Nu kommer formuläret upp och den hämtar info från databasen, men bara första ordet...que?


<?php $connection = mysql_connect("localhost", "***", "***") or die("Kunde inte skapa koppling!");
			  mysql_select_db("***") or die("Kunde inte välja databas");
		 ?>
		 
		 <?php if(!empty($_POST['perform'])) 
			  	  {
				  	  $id = $_POST['id'];
				  	  $datum = $_POST['datum'];
				  	  $namn = $_POST['namn'];
				  	  $rubrik = $_POST['rubrik'];
				  	  $text = $_POST['text'];
				  	  $del = "UPDATE news SET datum = '$datum', namn = '$namn', rubrik = '$rubrik', text = '$text' WHERE id = '$id'";
			  		  mysql_query($del) or die("Det gick inte att radera från databasen!");
			  		  			  		  
			  		  print("Uppdaterade ett namn...<p/>");
		  		  }
		     ?>
		
		 	Välj ett namn som skall uppdateras...<br/>
		    <form method="POST" action="upd.php">
			  
				<select name="id">
			  
			    <?php $hamta = "SELECT * FROM news";
			  		  $resultat = mysql_query($hamta) or die("Det gick inte att hämta information från databasen!");
			     
			  		  while($rad = mysql_fetch_array($resultat))
			  		      print("<option value=" . $rad["id"] . ">" . $rad["rubrik"]);

 			  		  mysql_free_result($resultat);
			  		
				 ?>
			  		   
			    </select>
			     
			    <input type="submit" value="Redigera">
			     
			</form>
			
		<?php
			  if(!empty($_POST['id']) and empty($_POST['perform'])) 
			  {
				  
				  
			  $id = $_POST['id'];
			  $hamta = "SELECT * FROM news WHERE id = '$id'";
			  $resultat = mysql_query($hamta) or die("Det gick inte att hämta information från databasen!");
			  
			  $rad = mysql_fetch_object($resultat);
			  

				  print("Hämtade begärt namn för redigering: <b>");
				  print("<form method=POST action=upd.php>");
				  print("<input type=hidden name=id value=" . $rad->id . ">");
				  print("<input type=hidden name=perform value=upd>");
				  
				  print("<b>Namn</b><br/>");				  
				  print("<input type=text size=150 name=namn value=" . $rad->namn . "><p/>");
				  
				  print("<b>Rubrik</b><br/>");				  
				  print("<input type=text size=150 name=rubrik value=" . $rad->rubrik . "><p/>");
				  
				  print("<b>Text</b><br/>");				  
				  print("<input type=textarea name=text value=" . $rad->text . "><p/>");
				  
				  print("<input type=submit value=Uppdatera><p/>");

			  
			  
			  mysql_free_result($resultat);
			  
		  		}
			  
			  
			  ?>
			  
		<?php mysql_close($connection);
		 ?>
@ndersMedlem sedan juni 200032 969 inlägg
#4

Du måste ha citationstecken runt värdena i HTML-koden. Ex:

                  print("<input type=text size=150 name=rubrik value=\\"" . $rad->rubrik . "\\"><p/>");
137 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)