Rij uit een database printen in een variable

Status
Niet open voor verdere reacties.

MrSvennie93

Gebruiker
Lid geworden
23 sep 2011
Berichten
101
Hallo,

Ik heb de volgende code in een PHP-bestand staan.


Code:
if(!empty($bedrijf))
						{
						
						$sql = "SELECT * FROM transportfotos WHERE bedrijf LIKE '$bedrijf' ";
						$result = mysql_query($sql) or die('<script type="text/javascript">foutQuery();</script>');
						$options = "";
						$space = "  ";
						
						while ($row=mysql_fetch_array($result))
							{
							$input1 = $row["website"];
							$input2 = $row["topic"];
							$input3 = $row["bedrijf"];
							$input4 = $row["plaats"];
							$input5 = $row["laatste_bericht"];
							$input6 = $row["uptodate_datum"];
							$options.= $input1.$space.$input2.$space.$input3.$space.$input4.$space.$input5.$space.$input6;
							}
						echo $options;

Ik wil in een database zoeken naar een bepaald bedrijf. De gegevens die die dan vind, wil ik met behulp van de for-loop in een variabele zetten en deze op het scherm weergeven. Maar hij geeft geen uitvoer. Wat doe ik fout?

Mvg,

Sven
 
Het is handiger om een bruikbare foutmelding te tonen:
PHP:
$result = mysql_query( $sql ) or die( mysql_error() );
Daarnaast is je code nogal omslachtig, waarom zou je een spatie in een variabele stoppen?

Probeer dit eens:
PHP:
while( $row = mysql_fetch_assoc( $result ) )
{
	$options .= implode( ' ', $row );
}
Je krijgt nu wel alle data uit de database er in maar die kun je filteren door de kolommen op te geven in je query in plaats van "*".
 
Laatst bewerkt:
Code:
if(!empty($bedrijf))
						{
						
						$sql = "SELECT * FROM transportfotos WHERE bedrijf LIKE '%$bedrijf%' ";
						$result = mysql_query($sql) or die('<script type="text/javascript">foutQuery();</script>');
						$options = "";
						
						
						while( $row = mysql_fetch_array( $result ) )
							{
							$options .= implode( ' ', $row );
							}							
						echo $options;

De LIKE statement was fout. Alleen nu print ie het dubbel. Heeft dat met $options = ""; te makenf of niet?
 
mysql_fetch_assoc gebruiken in plaats van mysql_fetch_array
 
Ik heb het nu gefixt, maar ik wil nu elke waarde in een label printen (of in een ander html element die eruit ziet als een label. Hoe doe ik dat?
PHP:
if(!empty($bedrijf))
						{
						
						$sql = "SELECT * FROM transportfotos WHERE bedrijf LIKE '%$bedrijf%' ";
						$result = mysql_query($sql) or die('<script type="text/javascript">foutQuery();</script>');
						$space = " | ";
						
						while($row = mysql_fetch_assoc($result))
							{
							$input1 = $row['website'];
							$input2 = $row['topic'];
							$input3 = $row['bedrijf'];
							$input4 = $row['plaats'];
							$input5 = $row['laatste bericht'];
							$input6 = $row['uptodate_datum'];
							
							$options.=$input1.$space.$input2.$space.$input3.$space.$input4.$space.$input5.$space.$input6;
							}			
						?>
							<label class="subinhoudtitel">Gevonden resultaten</label>
								<br/><br/>
						<?php
						if($options == null)
							{
							?>
							<label class="uitvoer">Geen topics gevonden die voldoen aan het criterium</label>
							<?php
							}
						else
							{
							?>
							<label class="uitvoerklein"><?php echo "$options\n";?></label>
							<?php
							}
 
Laatst bewerkt door een moderator:
PHP:
if( !empty( $bedrijf ) )
{
	$sql = "SELECT website, topic, bedrijf, plaats, laatste_bericht, uptodate_datum FROM transportfotos WHERE bedrijf LIKE '%$bedrijf%' ";
	$result = mysql_query( $sql ) or die( mysql_error() );
	$options = array();
	while( $row = mysql_fetch_assoc( $result ) )
	{
		$options[] = implode( ' | ', $row );
	}
	if( count( $options ) > 0 )
	{
		printf( '<h2 class="subinhoudtitel">Gevonden resultaten</h2>' );
		foreach( $options AS $bedrijf ):
			printf( '<label class="uitvoerklein">%s</label>', $bedrijf );
		endforeach;
	}
	else
	{
		printf( '<label class="uitvoer">Geen topics gevonden die voldoen aan het criterium</label>' );
	}
}
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan