Select, Option ?

Status
Niet open voor verdere reacties.

brownmouse

Gebruiker
Lid geworden
6 jul 2007
Berichten
497
hallo

zit weer met een probleem.
ik heb dus een formuliertje
om mijn website bij te houden via formuliertje
ipv heletijd naar PHPmyAdmin te gaan

PHP:
<select name="pages" value="'.$pages.'">
  <option value="">- Selecteer -</option>
  <option value="'1-2'">1-2</option>
  <option value="2-3'">2-3</option>
  <option value="3-4">3-4</option>
  <option value="'4-5'">4-5</option>
  <option value="'5>'">5></option>
</select>

maar als ik dus in mijn database 1-2 heb staan
en het formuliertje opnieuw laad staat hij weer op
de bovenste optie - Selecteer -

maar bij een invoerveld doet hij het wel gewoon netjes

PHP:
<input type="text" name="naam" maxlength="25" size="30" value="'.$naam.'">

hoe zou ik dus het beste kunnen oplossen
dat er wat ik in de database geselecteerde optie laat zien in het formuliertje?

met vriendelijke groeten. Timo
 
Om te beginnen staan er op onlogische plaatsen enkele quotes - het is verstandig om die weg te halen omdat het voor onvoorspelbaar gedrag kan zorgen.

Wat betreft he vraag: het <select> element kent geen "value". In plaats daarvan moet je bij een van de <option> velden aangeven of het geselecteerd is.
HTML:
<option selected="selected" value="X">X</option>
De implementatie hiervan bij gebruik van php is lastig. Zelf maak ik altijd een array van alle waarden zodat ik naast de "selected" waarde voor een formulier ook meteen een invoer check kan maken. Voorbeeld:
PHP:
<?php
	$items = array("1-2","2-3","3-4","4-5","5");
	echo "<select name='pages'>";
	foreach ($items as $item) {
		if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST["pages"]) && $_POST["pages"] == $item) {
			echo "<option value='".$item."' selected='selected'>".$item."</option>\n";
		} else {
			echo "<option value='".$item."'>".$item."</option>\n";
		}
	}
	echo "</select>";
?>
 
Dank je wel voor het posten van deze vraag en het antwoord.
Ik had net hetzelfde probleem met enkele selects.
 
Om te beginnen staan er op onlogische plaatsen enkele quotes - het is verstandig om die weg te halen omdat het voor onvoorspelbaar gedrag kan zorgen.

Wat betreft he vraag: het <select> element kent geen "value". In plaats daarvan moet je bij een van de <option> velden aangeven of het geselecteerd is.
HTML:
<option selected="selected" value="X">X</option>
De implementatie hiervan bij gebruik van php is lastig. Zelf maak ik altijd een array van alle waarden zodat ik naast de "selected" waarde voor een formulier ook meteen een invoer check kan maken. Voorbeeld:
PHP:
<?php
	$items = array("1-2","2-3","3-4","4-5","5");
	echo "<select name='pages'>";
	foreach ($items as $item) {
		if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST["pages"]) && $_POST["pages"] == $item) {
			echo "<option value='".$item."' selected='selected'>".$item."</option>\n";
		} else {
			echo "<option value='".$item."'>".$item."</option>\n";
		}
	}
	echo "</select>";
?>

ik heb gekeken..
maar krijg niet voor elkaar .. :(

heb al van alles geprobeert.
maar hij doet het niet als ik 'm erin zet.
dan krijg ik wit beeld.
en wat ik ook doe het blijft zo ik zal de hele pagina wel sturen:
PHP:
<?php
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Bruins Webdesign</title>
<meta name="keywords" content="" />
<meta name="description" content="" />
<link href="default.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="js/prototype.js"></script>
<script type="text/javascript" src="js/scriptaculous.js?load=effects"></script>
<script type="text/javascript" src="js/lightbox.js"></script>
<link rel="stylesheet" href="css/lightbox.css" type="text/css" media="screen" />


</head>
<body>
<!-- start header -->
<div id="header">
	<div id="logo">
		<h1><a href="#"></a> </h1>
		<h2></h2>
	</div>
	<div id="menu">
		<ul>
			<li><a href="index.php">homepage</a></li>
			<li class="active"><a href="portfolio.php">portfolio</a></li>
			<li><a href="aboutus.php">about us</a></li>
			<li><a href="links.php">links</a></li>
			<li><a href="contactus.php">contact us</a></li>
			<li><a href="inloggen.php">admin</a></li>
		</ul>
	</div>
</div>
<!-- end header -->

<!-- start page -->
<div id="page">
	<!-- start content -->
	<div id="content">
		<div class="post">
			<h2 class="title">wij ontwerpen <b>aantrekkelijke</b> pagina's<br />
			en bouwen <b>complete</b> website's</h2>
		  <div class="entry">
			  <p>
<?php

include("config.php");

error_reporting(E_ALL);

if ($_SERVER['REQUEST_METHOD'] == 'POST')  
{
$naam = trim($_POST['naam']);
$auteur = trim($_POST['auteur']);
$versie = trim($_POST['versie']);
$datum = trim($_POST['datum']);
$resultaat = trim($_POST['resultaat']);
$url = trim($_POST['url']);
$info = trim($_POST['info']);
$pages = trim($_POST['pages']);
$design = trim($_POST['design']);
$php = trim($_POST['php']);
$basis = trim($_POST['basis']);
$style = trim($_POST['style']);
$werkaan = trim($_POST['werkaan']);
$fout = "";


if( empty( $werkaan ) )
{
    $fout .= "U heeft geen begin tijd opgegeven.<br />"; //mogelijke fouten bij het invoeren
}
if( empty( $style ) )
{
    $fout .= "U heeft geen style/geen style opgegeven.<br />"; //mogelijke fouten bij het invoeren
}
if( empty( $basis ) )
{
    $fout .= "U heeft geen html/xhtml versie opgegeven.<br />"; //mogelijke fouten bij het invoeren
}
if( empty( $php ) )
{
    $fout .= "U heeft geen php optie opgegeven.<br />"; //mogelijke fouten bij het invoeren
}
if( empty( $design ) )
{
    $fout .= "U heeft geen soort design opgegeven.<br />"; //mogelijke fouten bij het invoeren
}
if( empty( $pages ) )
{
    $fout .= "U heeft geen aantal pagina's opgegeven.<br />"; //mogelijke fouten bij het invoeren
}
if( empty( $naam ) )
{
    $fout .= "U heeft geen naam opgegeven.<br />"; //mogelijke fouten bij het invoeren
}
if( empty( $auteur ) )
{
    $fout .= "U heeft geen auteurnaam opgegeven.<br />";
} 
if( empty( $versie ) )
{
    $fout .= "U heeft geen versie nummer ingevult.<br />";
} 
if( empty( $datum) )
{
    $fout .= "U heeft geen datum ingevult<br />";
} 
if( empty( $resultaat) )
{
    $fout .= "U heeft geen resultaat ingevult<br />";
} 
if( empty( $url) )
{
    $fout .= "U heeft geen url ingevult<br />";
} 
if(!empty($fout ) )
{
    echo "<h2>Er is een fout opgetreden!</h2>";
    echo "<p>" . $fout . "</p>";
}
else{
echo 'U artikel is succesvol gewijzigt.'; 
   
mysql_query("UPDATE portfolio SET naam = '".$_POST['naam']."', auteur = '".$_POST['auteur']."', versie = '".$_POST['versie']."', resultaat = '".$_POST['resultaat']."', datum = '".$_POST['datum']."', url = '".$_POST['url']."', info = '".$_POST['info']."', pages = '".$_POST['pages']."', design = '".$_POST['design']."', php = '".$_POST['php']."', basis = '".$_POST['basis']."', style = '".$_POST['style']."', werkaan = '".$_POST['werkaan']."' WHERE id ='".$_POST['id']."'") or die(mysql_error());
      }
} elseif ((isset($_GET['pagina'])) AND ($_GET['pagina'] == "bewerken") AND (isset($_GET['id']))) {
     
    $query = mysql_query("SELECT id, naam, auteur, versie, datum, resultaat, url, info, pages, design, php, basis, style, werkaan FROM portfolio WHERE id = '".intval($_GET['id'])."'") or die(mysql_error());
         
    while($portfolio = mysql_fetch_assoc($query)) {

	$naam = htmlspecialchars($portfolio['naam']); 
	$auteur = htmlspecialchars($portfolio['auteur']); 
	$versie = htmlspecialchars($portfolio['versie']); 
	$datum = htmlspecialchars($portfolio['datum']); 
	$resultaat = htmlspecialchars($portfolio['resultaat']); 
	$url = htmlspecialchars($portfolio['url']); 
	$info = htmlspecialchars($portfolio['info']); 
	$pages = htmlspecialchars($portfolio['pages']); 
	$design = htmlspecialchars($portfolio['design']); 
	$php = htmlspecialchars($portfolio['php']); 
	$basis = htmlspecialchars($portfolio['basis']); 
	$style = htmlspecialchars($portfolio['style']);
	$werkaan = htmlspecialchars($portfolio['werkaan']); 

echo '<p><form method="POST" action="bewerken.php"> 
<input type="hidden" name="id" value="'.intval($portfolio['id']).'" />
<table><tr><td><br />Naam: 
<br /><input type="text" name="naam" maxlength="25" size="30" value="'.$naam.'"> 

<br />Auteur: (T. Bruins)
<br /><input type="text" name="auteur" maxlength="25" size="30" value="'.$auteur.'">

<br />Versie: (1.0)
<br /><input type="text" name="versie" maxlength="55" size="30" value="'.$versie.'">

<br />Datum: (2009-08-31 00:00:00)
<br /><input type="text" name="datum" maxlength="55" size="30" value="'.$datum.'">

<br />Artikel foto:
<br /><input type="text" name="resultaat" maxlength="150" size="30" value="'.$resultaat.'"> 

<br />Url: (http://www.)
<br /><input type="text" name="url" maxlength="100" size="30"  value="'.$url.'">
</td>
<td>
<br />Werkdagen:
<br /><select name="werkaan" value="'.$werkaan.'">
  <option value="">- Selecteer -</option>
  <option value="1-2">1-2</option>
  <option value="3">3</option>
  <option value="4">4</option>
  <option value="5">5</option>
  <option value="6">6</option>
  <option value="7">7</option>
  <option value="8">8</option>
  <option value="9">9</option>
  <option value="10">10</option>
  <option value="10>">10></option>
</select> 

<br />Interface:
<br /><select name="basis" value="'.$basis.'">
  <option value="">- Selecteer -</option>
  <option value="HTML 4.01">HTML</option>
  <option value="xHTML 4.01">xHTML</option>
</select>
<br />Design:
<br /><select name="style" value="'.$basis.'">
  <option value="">- Selecteer -</option>
  <option value="Geen design">geen</option>
  <option value="CSS 2.1">CSS 2.1</option>
</select>
<br />PHP:
<br /><select name="php" value="'.$php.'">
  <option value="">- Selecteer -</option>
  <option value="Ja">Ja</option>
  <option value="Nee">Nee</option>
</select>
<br />Soort:
<br /><select name="design" value="'.$design.'">
  <option value="">- Selecteer -</option>
  <option value="Computers">Computers</option>
  <option value="Leef Stijl">Leef Stijl</option>
  <option value="Eten en Drinken">Eten Drinken</option>
  <option value="Hobby">Hobby</option>
  <option value="Telefoonie">Telefoonie</option>
  <option value="Internet">Internet</option>
  <option value="Software">Software</option>
  <option value="Hardware">Hardware</option>
</select>
<br />Aantal paginas:
<br /><?php
    $items = array("1-2","2-3","3-4","4-5","5");
    echo "<select name='pages'>";
    foreach ($items as $item) {
        if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST["pages"]) && $_POST["pages"] == $item) {
            echo "<option value='".$item."' selected='selected'>".$item."</option>\n";
        } else {
            echo "<option value='".$item."'>".$item."</option>\n";
        }
    }
    echo "</select>";
?>
</td>
<td>
Info:
<br /><TEXTAREA NAME="info" COLS=40 ROWS=11 value="'.$pages.'">'.$info.'</TEXTAREA>
</td>
</tr>
<tr><td>
<br /><input type="submit" name="submit" value="Bewerken">
</td></tr></table></form>';
    }
     
} else {
     
    $result = mysql_query("SELECT id, naam FROM portfolio ORDER BY id ASC") or die(mysql_error());
     
    while($row = mysql_fetch_assoc($result)) {
	
	$id = htmlspecialchars($row['id']); 
	$naam = htmlspecialchars($row['naam']); 
	
        echo "<table width='400' border='0' style='border-bottom:#000000 1px solid;'>";
 		echo "<tr>";
		echo "<td>$naam</td>";
		echo '<td style="width:80px;"><a href="bewerken.php?pagina=bewerken&id='.$id.'">Bewerken</a></td><br />';
 		echo "</tr>";
 		echo "</table><br />";
    }
    
    echo '- <a href="toevoegen.php">Artikel toevoegen</a><br /><br />';

}
?>

</p>



</div>

<div id="content">




			  </p>
			</div>
			<div class="meta"></div>
		</div>
		<div class="post"></div>
	</div>
	<!-- end content -->
	<!-- start sidebar -->
	<div id="sidebar">
		<ul>

			<li>
				<h2><strong>Hoofd</strong>menu</h2>
				<ul>
					<li><a href="index.php">
					<img src="image/newspaper.png" border=0> 							Hoofdpagina</a></li>
					<li><a href="portfolio.php">
					<img src="image/layout.png" border=0>
					Mijn Portfolio</a></li>
					<li><a href="aboutus.php">
					<img src="image/group.png" border=0>
					About Us</a></li>
					<li><a href="contactus.php">
					<img src="image/telephone.png" border=0>
					Contact Us</a></li>
					<li><a href="links.php">
					<img src="image/link.png" border=0>
					Externe Links</a></li>
					<li><a href="inloggen.php">
					<img src="image/group.png" border=0>
					Admin</a></li>
				</ul>
			</li>
			

					
			</li>
		  <li></li>
	  </ul>
  </div>
	<!-- end sidebar -->
	<div style="clear: both;"><p align="right">© Bij Bruins webdesign 2008-2009, Design Bij Timo Bruins</p></div>
</div>
<!-- end page -->
<!-- start footer -->

<!-- end footer -->
</body>
</html>


heb sommige " in ' verandert. zelfs dat werkt niet
 
Laatst bewerkt:
Je hebt nu de code in een echo blok met enkele quotes gezet dus wordt er niets mee gedaan (goed te zien aan de highlighting hier op het forum). Kortom: sluit de echo af (regel 217), gebruik dan mijn code (zonder <?php en ?> want die tags zijn al open), en open de echo weer (regel 229).
 
Je hebt nu de code in een echo blok met enkele quotes gezet dus wordt er niets mee gedaan (goed te zien aan de highlighting hier op het forum). Kortom: sluit de echo af (regel 217), gebruik dan mijn code (zonder <?php en ?> want die tags zijn al open), en open de echo weer (regel 229).

hallo ,, sorry..
dat ik weer vraag. ik heb <?php ?> weg gelaten
en echo afgebroken en begonnen zo op 2 manieren.

PHP:
';?>
    $items = array("1-2","2-3","3-4","4-5","5");
    echo "<select name='pages'>";
    foreach ($items as $item) {
        if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST["pages"]) && $_POST["pages"] == $item) {
            echo "<option value='".$item."' selected='selected'>".$item."</option>\n";
        } else {
            echo "<option value='".$item."'>".$item."</option>\n";
        }
    }
    echo "</select>";
</td><?php echo '
maar is denk fout als ik naar me script kijk :P dus vind niet beste maarjha werkt ook niet
en
PHP:
'
    $items = array("1-2","2-3","3-4","4-5","5");
    echo "<select name='pages'>";
    foreach ($items as $item) {
        if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST["pages"]) && $_POST["pages"] == $item) {
            echo "<option value='".$item."' selected='selected'>".$item."</option>\n";
        } else {
            echo "<option value='".$item."'>".$item."</option>\n";
        }
    }
    echo "</select>";
</td>'

maar die werkt ook niet hoe kan da?

mvg


me echto gaat zo

PHP:
<?php echo 'TEXT'; ?>
 
Laatst bewerkt:
?? wil niemand me meer helpen,
of leest niemand dit forum meer??

hihi

mvg
 
Tja, als je niet eens een echo blok kunt onderbreken...
me echto gaat zo

PHP:
<?php echo 'TEXT'; ?>
Zo zou je het moeten doen. Wat jij doet is
PHP:
<?php echo '<p>bla<br /><?php blaat(); ?></td>'; ?>
Als je zelf de fout niet ziet - dat kan natuurlijk gebeuren - kun je het zelfs aan de highlighting zien zowel hier (alle tekst is rood) als in je eigen tekst/php editor. Maargoed: regel 217. oud:
PHP:
<br /><?php
nieuw:
PHP:
<br />';
regel 228. oud
PHP:
?>
nieuw:
PHP:
echo '
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan