Ik zou graag velden uit een database samenvoegen en gaan verwerken naar een variabele om dat te gaan gebruiken in een verzendformulier.

De gegevens die al klaar zijn:
het verzendformulier met de variabele:
$tomail (emailadres van de ontvanger)
$tonaam ( naam van de ontvanger)
$from (emailadres van de verzender)
$fromnaam (naam van de verzender)

Connecten met de database gaat ook al:


<?php 
mysql_connect("localhost", "gebruikersnaam", "wachtwoord"); 
mysql_select_db("naam van database"); 

$res = mysql_query("SELECT Voornaam,vv, Achternaam, email FROM Personen"); 
while ($obj = mysql_fetch_object($res)) { 
  echo $obj->Voornaam." "; 
  echo $obj->vv." ";
  echo $obj->Achternaam."<br />"; 
  echo $obj->email."<br />;
} 
mysql_free_result($res); 
?> 


Hiermee toon ik dus de inhoud van de velden uit de database.

Wat ik nu graag zou willen realiseren is om de velden Voornaam en vv en Achternaam samenvoegen en stoppen in een keuzebox die te vergelijken is met:


<strong>Naam Ontvanger</strong>
     <select name="to">
	<option value="">Maak uw keuze</option>
	<option value="emailadres">Naam</option>
	<option value="emailadres">Naam</option>
     </select>


De gemaakte naam keuze zou dus gekoppeld moeten worden aan $tonaam en het daarbij horende e-mailadres aan $tomail.

Vraag is dus welke code moet ik nu gebruiken om dit werkende te krijgen?

Is dit wel mogelijk of zou ik beter eerst een tabel in mijn database moeten maken met de komplete namen en e-mailadressen?
<?php
while(...)
{
echo '<option value="' . $obj->email . '">' . $obj->Voornaam . ' ' . $obj->vv . ' ' . $obj->Achternaam . '</option>';
}
?>
@SanThe:
wat bedoel je met while(...) ??
Ik ben een beginner wat betreft het benaderen en gegevens verwerken vanuit een database.
Graag zou ik dus een komplete code zien om fouten te voorkomen.

Bovenste code geeft trouwens een 500 fout-code, die ik echter niet kan vinden.
Ook als losse php nog een foutcode.
Piet Marisael op 26/09/2010 14:07:36

@SanThe:
Ik ben een beginner wat betreft het benaderen en gegevens verwerken vanuit een database.


www.phptuts.nl
Wat is het verschil tussen een stukje code en een tut gaan doorspitten totdat je op het laatst nog niet gevonden hebt wat je zoekt?
Piet Marisael op 26/09/2010 14:07:36

@SanThe:
Graag zou ik dus een komplete code zien om fouten te voorkomen.


Graag wil ik dat je mijn bankrekening tot zijn limiet vult.

Lees die tut die SanThe linkt nu gewoon. Word de while namelijk ook gewoon in behandelt. Had je nu al antwoord op je vraag gehad.

wat bedoel je met while(...) ??


wel dat is een stukje speudo code wat overeen kan komen met

<?php
while ($obj = mysql_fetch_object($res)) { 
?>

maar ja als je dat soort vertaalslagen niet kan maken dan vrij ik mij wel het een en ander af....

<?php 
ini_set('display_errors',1);
error_reporting(E_ALL | E_STRICT);

if ($link = mysql_connect('localhost', 'gebruikersnaam', 'wachtwoord') !== false) {
		if (!mysql_select_db('naam van database') {
		   $link = false;
		} 
}

if ($link !== false) {

$sql =  "SELECT voornaam
        ,       vv
        ,       achternaam
        ,       email 
        ,		concat_ws(' ',voornaam,vv,achternaam) fullname
        FROM    personen";
        
if (($result = mysql_query($sql)) !== false) {        
   
   while ($row = mysql_fetch_assoc($res)) {
   	  echo '<option value="'.$row['email'].'">'.$row['fullname'].'<option>';
   }     
}
else {	
	$mysqlerrorlog .= mysql_error().'<br />'.$sql.'<br />';
	file_put_contents('mysqlerrlog.txt',$mysqlerrorlog,FILE_APPEND);
}
?> 

Tja hoe zal ik dat nou uitleggen?

Ik beheer een webpagina, nog nooit met een database gewerkt.
De database staat al een tijdje online maar er is nooit iets mee gedaan.
Ook niet door de vorige webmaster.
Zelf heb ik altijd met HTML gewerkt.
Nooit cursussen gehad of gedaan, altijd gewerkt vanuit voorbeelden.
Is me altijd ook aardig gelukt.
Kom nu dus die database tegen met de vraag: daar moet toch mee te werken zijn.
Op zoek dus naar voorbeelden, kom er eindeloos veel tegen.
Allemaal net anders dan wat ik eigenlijk zoek.
Of nog erger scripts die helemaal niet blijken te werken.
Zelfs op deze site kom je met bosjes tegen, daaronder een hele rij met verbeteringen en soms met nutteloze opmerkingen.
Vraag me dan menigmaal af, waarom eigenlijk.
Zoek me weer wezenloos naar oplossingen en verdwaal weer in talloze mogelijkheden met alweer genoemde aanvullingen.
Denk je dat je wellicht een beetje hulp kunt krijgen, wordt ik weer verwezen naar 'tuts' waar ik wellicht dagen of weken, mischien wel langer bezig ben.
Resultaat dat ik in principe nog niet veel verder kom.

Kan nu wel een komplete listing weg gaan zetten hier van wat ik al heb.
Kan ik donder op zeggen dat er weer reacties komen dat het een zooitje is die listing.
Verder nog meer rake opmerkingen waar je niet op zit te wachten.
Nog steeds geen werkende oplossing.

Heb die laatste code van Noppes in de plaats van de <select>-code geplaatst.
Alweer resultaat dat het niet werkt, weer een 500-foutmelding.
Ik weet het hulp vragen is al moeilijk genoeg als je een beginner bent.
Denk er maar over na om de database te verwijderen en er nooit meer aan te beginnen.
Je zit toch niet te editten in z'n K editor die bommetjes plaatst

Open de file in het kladblok en sla de file op en zet de file dan op z'n plek en probeer het dan nog eens
Nee ik heb geen K editor, werk altijd met kladblok als ik websites maak.
Weet alleen dat ik steeds die 500-foutmelding krijg.
Neem nou de allereerste code hier geplaatst, geeft ook een foutmelding.
Zou ook gewoon moeten werken.'
Ben gaan wissen vanaf onderaf aan.
Er verscheen geen foutmeding meer toen ik alles beneden de 4de regel had gewist.
Wat ik toen overhield zonder foutmelding was:

<?php 
mysql_connect("localhost", "gebruikersnaam", "wachtwoord"); 
mysql_select_db("naam van database"); 

$res = mysql_query("SELECT Voornaam,vv, Achternaam, email FROM Personen"); 
?>

Dus dat betekende dat ik wel verbinding had met de database.

Heb nu het script maar bij het oude gelaten met de <select> <option value.... methode.
Staat wel een beetje ouderwets met al die 120 <option>-regels.
Maar het werkt wel zonder database.

Of is er nog iemand er in ge-interresseerd in de komplete listing om naar een oplossing te zoeken?

Reageren