Hallo,

Ik ben hier nieuw op het forum en ook in heel het php gebeuren.

heb hier al wat topics gelezen op het forum maar ben nog ni echt iets tegen gekomen dat mij kan helpen met mijn probleem.

dit heb ik al

<?php
include ("inc_connect_mysql.php");
$result = mysql_query("SELECT * FROM decorline2" , $db);

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
printf("melmdf: %s ", $row[melmdf]);
}

mysql_free_result($result);
?>

mijn script werkt wel maar nu zou ik een numerieke waarde willen omzetten in text.

dit is wat er op het schrem verschijnt :

melmdf: 1 melmdf: 1 melmdf: 0

nu zou ik willen dat wanneer het resultaat 1 er text te voorschijn komt en wanneer er 0 staat dat er gewoon niets staat.

Hoe moet ik verder of met wat?

ik hoop dat dit een beetje duidelijk is



while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
if(!empty($row[melmdf]))
{
echo 'text';
}
}

Maar waarom je 'text' wil neerzetten is me een raadsel. Of moet er gewoon een bepaalde tekst komen?
zoiets dan?


<?PHP
while($row = mysql_fetch_assoc($result))
	{
	if($row["melmdf"] == 1)
		{
		echo "Text";
		}
	}
?>
oke, danku voor de snelle reactie,

ik denk dat ik hier wel verder me kan.

@Eddy Erkelens

er moet gewoon een bepaalde text in komen,

Php gaat zeer losjes om met data types.

Als je een getal als tekst wil tonen, moet je daar absoluut niets voor doen.

dit
<?php
echo $row["melmdf"];
?>

zal het getal zomaar als tekst opschrijven.
Hallo,

Dit is tot hier toe allemaal gelukt maar nu wil ik iets anders proberen maar weet niet goe hoe er aan te beginnen,

zal het even uitleggen.

deze gegevens vul ik in een database in

0= niets (geen text)
1= abs 25
2= abs 33
4= abs 45
8= abs 62
16= ...

als dan een variable = 3 is moet er als text komen "abs 25 + abs 33"

is de variable = 7 => "abs 25 + abs 33 + abs 45"

Kan er iemand mij helpen hoe ik hier aan moet beginnen?

Dank u

Als eerste zou ik de "abs " schijden van de cijfers, dan kan je makkelijker op tellen.

En ervan uitgaande dat je priemgetallen gebruikt kan je gewoon deze query uitvoeren en AbsTotaal opvragen.



SELECT KolomMetNrs, SUM(KolomMetAbsCijfers) as AbsTotaal
FROM DeTabelNaam
WHERE KolomMetNrs < GevraagdeGetal



edit:

Ik zie net dat ik te voorbarig was met de gedachte dat je priemgetallen gebruikt.

Mijn vraag is nu, wat wil je als ik 8 opvraag? 1+2+4 = 7, wil je dan nog een keer 1 erbij? of alleen de 8?

Als het laatste de juiste is, ziet het er ongeveer zo uit:


SELECT KolomMetNrs, KolomMetAbsCijfers
FROM DeTabelNaam
WHERE KolomMetNrs < GevraagdeGetal
ORDER BY KolomMetAbsCijfers DESC



Is je query, dit zou je ongeveer in php moeten doen, na je de query results in $rsResult te zetten.


<?php
while($aRow = mysql_fetch_assoc($rsResult))
{
    $aData[$aRow['KolomMetNrs']] = $aRow['KolomMetAbsCijfers'];
}

$iNr = $_POST['absReq'];
$iTotaal = 0;

foreach($aData as $iGetal => $iAbsWaarde)
{
    if($iNr - $iGetal >= 0)
    {
        $iTotaal += $iAbsWaarde;
        $iNr -= $iGetal;
    }
    if($iNr <= 0) break;
}


echo 'abs '.$iTotaal.'';
?>
Volgens mij bedoel je zoiets.
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);

$waarden = array(1 => 'abs 25',
2 => 'abs 33',
4 => 'abs 45',
8 => 'abs 62'
);

include ("inc_connect_mysql.php");

$result = mysql_query("SELECT * FROM decorline2");
if($result)
{
while ($row = mysql_fetch_assoc($result))
{
echo 'melmdf: ';
for($i=0; $i<=8; $i++)
{
if(($row['melmdf'] & pow(2, $i)) and isset($waarden[pow(2, $i)]))
{
echo $waarden[pow(2, $i)] . ' ';
}
}
echo '<br/>';
}
}
else
{
// mysql error
}

?>
@ Satsume: 8 heeft een eigen waarde dus die geeft dan "abs 62" weer.

@ SanThe: Denk dat ik hier wel verder me kan. thx voor de snelle replay

als het niet lukt horen jullie mij wel ;-)
hallo, kheb nog een klein probleempje waar ik niet goed uitgeraak.

dit is wat ik nu op mijn scherm krijg.



die kstabs: abs 25 zou onderelkaar moeten staan ipv achter elkeer.

dit is de code die ik tot nu toe heb.

<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);

$kstabs = array(1 => 'abs 25',
2 => 'abs 33',
4 => 'abs 45',
8 => 'abs 62'
);

include ("inc_connect_mysql.php");
$result = mysql_query("SELECT * FROM decorline2");
$resultkstabs = mysql_query("SELECT * FROM decorline2");
?>


<!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>Untitled Document</title>
</head>

<body>
<table border="2" width="90%" align="center" bordercolor="#666666">
<tr bordercolor="#FFFFFF">
<td colspan="13" bordercolor="#FFFFFF"><h2 align="center">Decorline</h2></td>
</tr>
<tr bordercolor="#FFFFFF" style="font-size:10px" >
<th align="right">Afbeelding</th>
<th align="right">Decor</th>
<th align="right">Structuur</th>
<th align="right">Omschrijving</th>
<th align="right">Prijsgroep</th>
<th align="right">kantstroken abs</th>
</tr>

<?php
while (list($group, $reeks, $decor, $structure, $description, $prisegroup, $ral, $kleurindex, $kleuratlas, $images) = mysql_fetch_row($result))
{
echo("<tr bordercolor=\"red\" style=\"font-size:10px\">
<td align=\"right\"><IMG onClick=\"window.open('$images','kleur','width=500','height=1000')\" src=\"$images\" alt=\"$decor\" width=\"14\" height=\"18\" border=\"0\" align=\"left\"></td>
<td align=\"right\">$decor</td>
<td align=\"right\">$structure</td>
<td align=\"right\">$description</td>
<td align=\"right\">$prisegroup</td>
");
if($resultkstabs)
{
while ($row = mysql_fetch_assoc($resultkstabs))
{
echo '<td align=\"right\">kstabs: ';
for($i=0; $i<=8; $i++)
{
if(($row['kstabs'] & pow(2, $i)) and isset($kstabs[pow(2, $i)]))
{
echo $kstabs[pow(2, $i)] . ' ';
}
}
echo '</td>';
}
}
else
{
// mysql error
}
}
?>
</tr>
</table>
<body>


</body>
</html>

bedankt alvast

Reageren