PDA

Bekijk Volledige Versie : Re: stomme vraag maar ik weet het wel maar......



Jan
31/05/03, 12:35
"Jan" <janvh@hotmail.com> schreef in bericht
news:bb9uqs$c6h$1@news4.tilbu1.nb.home.nl...
> Hallo, ik wil bij if..enz nog een categorie toevoegen ik dacht met or of
een
> , er tussen maar lukt niet. Tja, hoe kan het dan wel?
>
> Jan
>
>
> if ($hoofd_cat == "HARDDISKS") {
> $kleur = echoColor();
>
>

Ja ik heb het toch nog gevonden, goed he?

if ($hoofd_cat == "HARDDISKS" OR $hoofd_cat == "DISKDRIVES") {
$kleur = echoColor();


Maar nu wordt de Diskdrives bovenaan gezet en ik had graag de Harddisks
bovenaan het lijstje. Is het mogelijk. ?

Jan

Rick
31/05/03, 13:05
"Jan" <janvh@hotmail.com> schreef in bericht
news:bba090$tq2$1@news4.tilbu1.nb.home.nl...
>
> "Jan" <janvh@hotmail.com> schreef in bericht
> news:bb9uqs$c6h$1@news4.tilbu1.nb.home.nl...
> > Hallo, ik wil bij if..enz nog een categorie toevoegen ik dacht met or of
> een
> > , er tussen maar lukt niet. Tja, hoe kan het dan wel?
> >
> > Jan
> >
> >
> > if ($hoofd_cat == "HARDDISKS") {
> > $kleur = echoColor();
> >
> >
>
> Ja ik heb het toch nog gevonden, goed he?
>
> if ($hoofd_cat == "HARDDISKS" OR $hoofd_cat == "DISKDRIVES") {
> $kleur = echoColor();
>
>
> Maar nu wordt de Diskdrives bovenaan gezet en ik had graag de Harddisks
> bovenaan het lijstje. Is het mogelijk. ?
>
> Jan
>
>
Jahoor, als jij wat meer uitlegt hoe je code in elkaar steekt en wat de
bedoeling is dan zal het vast wel kunnen :)
--
Slechte webdesigners? Geef ze hier aan:
http://webdesignert.vectoris.nl/

Jan
31/05/03, 17:35
> >
> Jahoor, als jij wat meer uitlegt hoe je code in elkaar steekt en wat de
> bedoeling is dan zal het vast wel kunnen :)
> --
> Slechte webdesigners? Geef ze hier aan:
> http://webdesignert.vectoris.nl/
>

Ik post mijn code, heeft erg veel zweetwerk gekost en ik ben en lang
nog niet klaar. Er moet nog een vakje gemaakt worden waar de klant
kan opgeven hoeveel artikelen hij/zij wil bestellen. Ook moet er nog een
overzichtje gemaakt worden van wat er allemaal van uit de diverse
categorieen bestels is wat het kost en totaal bedrag. Ik weet niet dat
het me lukt maar ik probeer het wel.

Jan


<?PHP

function echoColor() {
static $counter=0;
$kleur1="#FFF3E7";
$kleur2="********";
$counter++;
if ($counter%2) return $kleur1;
return $kleur2;
}


// Bestandsnaam van het comma-separated bestand
$filename = "../opzolder.csv";

// Teken waarmee de velden van elkaar worden gescheiden
$delimiter = ";";

// Lees het bestand in
$fcontents = @file($filename);

// Kijk of het bestand werd gevonden
if (!$fcontents) {

// Fout: bestand niet gevonden
echo("<B>Fout</B><P>Het data-bestand werd niet gevonden.");

} else {

// Bestand dus wel gevonden, controleer of het wel inhoud bevat (of het meer
dan 1 regel lang is)
$regels = count($fcontents);

if ($regels < 2) {
echo("<B>Fout</B>Het data-bestand is leeg");
} else {

// kopregel
echo "<CENTER>";
echo ("<TABLE BORDER=0 WIDTH=\"600\" HEIGHT=\"20\" CELLSPACING=0
CELLPADDING=0>");

echo "<TR>
<TD WIDTH=\"125\" bgcolor=\"#ff9e0f\"><FONT color=\"#FFFF00\"><B><FONT
size=\"2\">omschrijving</FONT></B></TD>
<TD WIDTH=\"275\" bgcolor=\"#ff9e0f\"><FONT color=\"#FFFF00\"><B><FONT
size=\"3\">Netwerkkaart</FONT></B></TD>

<TD WIDTH=\"50\" bgcolor=\"#ff9e0f\"><a href=\"../contact/contact.html\">
<img border=\"0\" src=\"../mail.gif\" width=\"20\" height=\"11\"></TD>

<TD WIDTH=\"150\" bgcolor=\"#ff9e0f\" ALIGN=\"right\"><B><FONT
color=\"#FFFF00\"><FONT size=\"2\">prijs </FONT>
<FONT size=\"1\"> (inclusief btw)</FONT></B></TD></TR>";


// Ga het bestand regel voor regel af
while (list ($line_num, $line) = each ($fcontents)) {

// Sla eerste regel over (0 is geen regel overslaan)
if ($line_num>=0) {

// Splits de regel in aparte velden
$fields = explode($delimiter, $line);

// Benoem de velden voor de duidelijkheid. Nummering begint bij 0
$hoofd_cat = $fields[0];
$sub_cat = $fields[2];
$omschrijving = $fields[3];
$prijs = $fields[5];

echo ("<TABLE BORDER=0 WIDTH=\"600\" HEIGHT=\"20\" CELLSPACING=0
CELLPADDING=0>");

if ($hoofd_cat == "NETWERKKAARTEN") {
$kleur = echoColor();
echo "<TR>
<TD WIDTH=\"50\" BGCOLOR=\"$kleur\"><FONT color=\"#000000\"><FONT
size=\"1\">$sub_cat</FONT></TD>
<TD WIDTH=\"400\" BGCOLOR=\"$kleur\"><FONT color=\"#000000\"><FONT
size=\"1\">$omschrijving</FONT></TD>
<TD WIDTH=\"50\" BGCOLOR=\"$kleur\" align=\"right\"><FONT
color=\"#000000\"><FONT size=\"1\">$prijs</FONT></TD></TR>";
}

} // eind if $line_num
} // eind while($fcontents)
} // eind if ($regels)
} // eind if ($fcontents)

echo "</CENTER>";
echo "</TABLE>";
echo "</TABLE>";

echo "<BR>";
?>

Marcus
31/05/03, 19:35
Jan wrote:
>> Jahoor, als jij wat meer uitlegt hoe je code in elkaar steekt en wat
>> de bedoeling is dan zal het vast wel kunnen :)
>> --
>> Slechte webdesigners? Geef ze hier aan:
>> http://webdesignert.vectoris.nl/
>>
>
> Ik post mijn code, heeft erg veel zweetwerk gekost en ik ben en lang
> nog niet klaar. Er moet nog een vakje gemaakt worden waar de klant
> kan opgeven hoeveel artikelen hij/zij wil bestellen. Ook moet er nog
> een overzichtje gemaakt worden van wat er allemaal van uit de diverse
> categorieen bestels is wat het kost en totaal bedrag. Ik weet niet dat
> het me lukt maar ik probeer het wel.

[knip script]

Even een tip, spring binnen een lus of een if even in.

Verder is je script wat ongestructureerd, wat het later moeilijk maakt
om functionaliteit toe te voegen. Als je dit mooi wilt oplossen is IMHO
het volgende erg handig:

een functie printLijst die als parameters drie functies meekrijgt:
Een seletiefunctie: krijgt als parameter een item uit de lijst en
retourneert een boolean of het item getoond moet worden
Een vergelijkfunctie die je aan sort mee kan geven (deze heb ik zelf
nooit in php geimplementeerd, dus misschien kan iemand anders hier ff
nader toelichten)
Een printfunctie: drukt een een element uit de lijst af

Ik heb dit in perl in zijn geheel en en in php gedeeltelijk
geimplementeerd. Als je belangstelling voor een van beiden hebt moet je
het zeggen, maar ik dunk dat je er meer aan hebt als je het zelf in zijn
geheel implementeert.

Mark

Daniel Tryba
01/06/03, 22:20
Jan <janvh@hotmail.com> wrote:
> $fcontents = @file($filename);
[knip]
> while (list ($line_num, $line) = each ($fcontents)) {
[knip]
> $fields = explode($delimiter, $line);
>
> // Benoem de velden voor de duidelijkheid. Nummering begint bij 0
> $hoofd_cat = $fields[0];
> $sub_cat = $fields[2];
> $omschrijving = $fields[3];
> $prijs = $fields[5];

Je wilt dus sorteren op het eerste veld van een regel:
http://php.net/sort (nadat je de eerste regel eraf gehaalt hebt)

BTW bekijk het verschil tussen " en ' (dat voorkomt onnodig escapes)
bekijk fgetcsv als je toch al met csv aan het spelen bent.

--

Daniel Tryba