Hyperlink

Status
Niet open voor verdere reacties.

Broertjuhhh

Gebruiker
Lid geworden
6 feb 2007
Berichten
271
Hallo mensen,

Ik laat een script de volgen de regels sammen stellen, waar in het met hoofdletters geschreven woord een hyperlink moet worden, (dit is een variabele) zo ook de cijvers.


Hoe doe je dat ?

Er zijn 29 NIEUWS berichten, waarvan er 0 vandaag geplaatst.

Er is één PORTFOLIO bericht, waarvan er 0 vandaag geplaatst.
 
Waar haal je de variabele namen vandaan? Uit een array?

Dan lijkt het mij het handigst om het zo te doen:
PHP:
$pagina_array= array("nieuws", "portfolio");

foreach($pagina_array AS $pagina)
{
  echo '<a href="'. $pagina .'.php" >'. strtoupper($pagina) .'</a>';
}

Afijn, zolang niet duidelijk is waar je welke variabelen vandaan haalt kunnen we je niet goed helpen.
 
Het is voor vraag 18 van het onderwerp script aan alt toevoegen.

Daar worden de variabelen gemaat en gelezen en later afgedrukt op het scherm.

Zie voorbeeld op mijn site bij 'Nieuws overzicht'
 
Hmm na het opnieuw lezen van de vraag zie ik dat je het script er al voor hebt
Ik laat een script de volgen de regels sammen stellen

Dus dan snap ik de vraag niet over "hoe je dat doet". Je hebt het script toch al dus wat is het probleem? :(

Daarnaast wil ik nog wel graag antwoord op mijn vraag waar die variabele namen vandaan komen, aangezien ik het niet in het andere topic weer kan vinden.

Wellicht is het handig om hier de inhoud van http://www.broertjuhhh.nl/teller.php te plaatsen. Dat versnelt waarschijnlijk een antwoord ;)
 
Ik laat een script de volgen de regels sammen stellen, waar in het met hoofdletters geschreven woord een hyperlink moet worden, (dit is een variabele) zo ook de cijvers.

De variabelen heb ik in dit script gemaakt.

Er zijn 28 NIEUWS berichten, waarvan er 0 vandaag geplaatst.
Er is één COMPUTER bericht, waarvan er 1 vandaag geplaatst.
Er zijn geen CONSUMENTEN TV berichten.

etc.


PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Berichten teller</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<?php 

$map[0]="notice/notice56.dat";
$map[1]="computer/c-notice/notice56.dat";
$map[2]="consumenten tv/tv-notice/notice56.dat";
$map[3]="de tweede kans/k-notice/notice56.dat";
$map[4]="de wereld/w-notice/notice56.dat";
$map[5]="filmpjuhhhs/f-notice/notice56.dat";
$map[6]="links/l-notice/notice56.dat";
$map[7]="muziek/m-notice/notice56.dat";
$map[8]="portfolio/p-notice/notice56.dat";
$map[9]="vakantie tips/v-notice/notice56.dat";

for ($getal = 0 ; $getal < 10 ; $getal++) {
 
$filename = ($map[$getal]);   //  "notice/notice56.dat"
$messages = file($filename); 
$countmessages = count($messages); 
$counttoday = 0; 
foreach ($messages as $message) { 
    list(, $date) = explode("|~|", $message); 
    if (date("dmY", strtotime($date)) == date("dmY")) { 
        $counttoday++; 
    } 
} 

if ($getal == 0) 
     {$rubriek = "NIEUWS";
	 }
	 if ($getal == 1) 
	 {$rubriek = "COMPUTER"; 
	 }
	 if ($getal == 2) 
	 {$rubriek = "CONSUMENTEN TV"; 
	 }
	 if ($getal == 3)
	 {$rubriek = "DE TWEEDE KANS"; 
	 }
	 if ($getal == 4) 
	 {$rubriek = "DE WERELD"; 
	 }
	 if ($getal == 5) 
	 {$rubriek = "FILM'S"; 
	 }
	 if ($getal == 6) 
	 {$rubriek = "LINK'S"; 
	 }
	 if ($getal == 7) 
	 {$rubriek = "MUZIEK"; 
	 }
	 if ($getal == 8) 
	 {$rubriek = "PORTFOLIO"; 
	 }
	 if ($getal == 9) 
	 {$rubriek = "OVER DE GRENS"; 
	 }

      $myVar[$getal] = " Er ";// echo "Er "; 
  if ($countmessages == 0) { 
      $myVar[$getal] .= " zijn geen " . $rubriek . " berichten.";// echo "zijn geen berichten"; 
    } elseif ($countmessages == 1) { 
      $myVar[$getal] .= " is één " . $rubriek . " bericht";// echo "is één bericht"; 
    } else { 
      $myVar[$getal] .= " zijn " . $countmessages . " " . $rubriek ." berichten"; // echo "zijn " . $countmessages . " berichten"; 
    } 
   if ($countmessages != 0) {
      $myVar[$getal] .=", waarvan er " . $counttoday . " vandaag geplaatst.";// echo " in het nieuws, waarvan er " . $counttoday . " vandaag is geplaatst.";  
    }

echo "<font size = 1><font face = Verdana, Arial, Helvetica, sans-serif /font>";
echo ($myVar[$getal]);
echo "<br><br>"; 

 $myVar[$getal] ="";
 $rubriek ="";

}
?>

<body>

</body>
</html>
 
Als je de IF statement met $getal even aanpast als volgt:
PHP:
if ($getal == 0) 
{
  $rubriek = "NIEUWS";
  $url = "nieuws.php"; //Hoe die pagina ook maar mag heten...
}
if ($getal == 1) 
{
  $rubriek = "COMPUTER"; 
  $url = "computer.php"; //Hoe die pagina ook maar mag heten...
}
//etc etc etc etc
if ($getal == 9)
{
  $rubriek = "OVER DE GRENS"; 
  $url = "overdegrens.php"; //Hoe de pagina ook maar mag heten...
}
en dan vervolgens het deel daar onder wijzigt in:
PHP:
$myVar[$getal] = ' Er ';
if ($countmessages == 0) 
{ 
  $myVar[$getal] .= ' zijn geen <a href="'. $url .'">'. $rubriek .'</a> berichten.';
} 
elseif ($countmessages == 1)
{ 
  $myVar[$getal] .= ' is één <a href="'. $url .'">'. $rubriek .'</a> bericht';
}
else
{ 
  $myVar[$getal] .= ' zijn '. $countmessages .'<a href="'. $url .'">'. $rubriek .'</a> berichten';
} 
if ($countmessages != 0)
{
  $myVar[$getal] .=', waarvan er '. $counttoday .' vandaag geplaatst'";
}

Volgens mij moet het dan goed komen.
 
Als je de IF statement met $getal even aanpast als volgt:
PHP:
if ($getal == 0) 
{
  $rubriek = "NIEUWS";
  $url = "nieuws.php"; //Hoe die pagina ook maar mag heten...
}
if ($getal == 1) 
{
  $rubriek = "COMPUTER"; 
  $url = "computer.php"; //Hoe die pagina ook maar mag heten...
}
//etc etc etc etc
if ($getal == 9)
{
  $rubriek = "OVER DE GRENS"; 
  $url = "overdegrens.php"; //Hoe de pagina ook maar mag heten...
}
en dan vervolgens het deel daar onder wijzigt in:
PHP:
$myVar[$getal] = ' Er ';
if ($countmessages == 0) 
{ 
  $myVar[$getal] .= ' zijn geen <a href="'. $url .'">'. $rubriek .'</a> berichten.';
} 
elseif ($countmessages == 1)
{ 
  $myVar[$getal] .= ' is één <a href="'. $url .'">'. $rubriek .'</a> bericht';
}
else
{ 
  $myVar[$getal] .= ' zijn '. $countmessages .'<a href="'. $url .'">'. $rubriek .'</a> berichten';
} 
if ($countmessages != 0)
{
  $myVar[$getal] .=', waarvan er '. $counttoday .' vandaag geplaatst'";
}

Volgens mij moet het dan goed komen.

Ik ga het even proberen en houje op de hoogte.
 
Ik ga het even proberen en houje op de hoogte.

Het is gelukt, Het eerste stuk was goed en het tweede stuk moest dit worden,

PHP:
      $myVar[$getal] = " Er ";// echo "Er "; 
  if ($countmessages == 0) { 
      $myVar[$getal] .= " zijn geen " . "<a href=$url>" . $rubriek . "</a>" . " berichten.";// echo "zijn geen berichten"; 
    } elseif ($countmessages == 1) { 
      $myVar[$getal] .= " is één " . "<a href=$url>" . $rubriek . "</a>" . " bericht" . "</a>";// echo "is één bericht"; 
    } else { 
      $myVar[$getal] .= " zijn " . $countmessages . " " . "<a href=$url>" . $rubriek . "</a>" . " berichten"; // echo "zijn " . $countmessages . " berichten"; 
    } 
   if ($countmessages != 0) {
      $myVar[$getal] .=", waarvan er " . $counttoday . " vandaag geplaatst.";// echo " in het nieuws, waarvan er " . $counttoday . " vandaag is geplaatst.";  
    }

Het waren alleen de quote's en punten en ik moest de spaties uit de directory namen halen.

Super we zijn er uit, heel erg bedankt en als er weer wat in mijn fantasie opborrelt, hoor je me wel weer !
 
Laatst bewerkt:
Als je het tweede gedeelte zo als mij had gedaan was het ook gelukt. De manier waarop je het nu hebt kun je het wel korter doen. Je escaped nu variabelen wel en niet...
PHP:
$myVar[$getal] = " Er ";
  if ($countmessages == 0) { 
      $myVar[$getal] .= " zijn geen <a href=$url>$rubriek</a> berichten.";
    } elseif ($countmessages == 1) { 
      $myVar[$getal] .= " is één <a href=$url>$rubriek</a> bericht";
    } else { 
      $myVar[$getal] .= " zijn $countmessages <a href=$url>$rubriek</a> berichten";
    } 
   if ($countmessages != 0) {
      $myVar[$getal] .=", waarvan er $counttoday vandaag geplaatst.";
    }

Toch raad ik mijn manier aan omdat je zo nog wat fatsoenlijke HTML code overhoudt...

(Waarom zet je eigenlijk dat commentaar er steeds achter? Commentaar is juist om de boel te verduidelijken, dit commentaar zegt alleen wat er in die regel gebeurd en aangezien het een echo is weet men wel wat die regel code doet)
 
Als je het tweede gedeelte zo als mij had gedaan was het ook gelukt. De manier waarop je het nu hebt kun je het wel korter doen. Je escaped nu variabelen wel en niet...
PHP:
$myVar[$getal] = " Er ";
  if ($countmessages == 0) { 
      $myVar[$getal] .= " zijn geen <a href=$url>$rubriek</a> berichten.";
    } elseif ($countmessages == 1) { 
      $myVar[$getal] .= " is één <a href=$url>$rubriek</a> bericht";
    } else { 
      $myVar[$getal] .= " zijn $countmessages <a href=$url>$rubriek</a> berichten";
    } 
   if ($countmessages != 0) {
      $myVar[$getal] .=", waarvan er $counttoday vandaag geplaatst.";
    }

Toch raad ik mijn manier aan omdat je zo nog wat fatsoenlijke HTML code overhoudt...

(Waarom zet je eigenlijk dat commentaar er steeds achter? Commentaar is juist om de boel te verduidelijken, dit commentaar zegt alleen wat er in die regel gebeurd en aangezien het een echo is weet men wel wat die regel code doet)

In het geval ik het script over één jaar of nog een paar er bij, nog is nodig heb en al één jaar of nog een paar er bij niet meer gescript heb.

De rede dat ik het heb aangepast is, om dat het niet werkte en ik error's kreeg.

Wat bedoel je met 'escaped nu variabelen wel en niet' ? Daar zou ik nu een boek voor moeten hebben.
Ik heb jaren geprogrammeerd, van 'Turbo basic tot en met Visual Basic 5' en dat helpt wel, maar dit is toch wat anders en uiterst verslavend, Heerlijk.
 
Laatst bewerkt:
Als je dan toch zulk commentaar erbij wilt zetten doe dan zoiets
PHP:
$myVar[$getal] = " Er ";// Geeft bij een echo " Er " terug

Escapen:
PHP:
$variabele = "string";

$escape = 'In deze '. $variabele .' is de variabele geescaped';
$nietEscape = "In deze $variabele is de variable niet geescaped";

Het ligt dus aan de quotes die je gebruikt, bij enkele quotes ( ' ) moet je variabele escapen. Bij dubbele ( " ) hoeft dat niet.
 
Laatst bewerkt:
Als je dan toch zulk commentaar erbij wilt zetten doe dan zoiets
PHP:
$myVar[$getal] = " Er ";// Geeft bij een echo " Er " terug

Escapen:
PHP:
$variabele = "string";

$escape = 'In deze '. $variabele .' is de variabele geescaped';
$nietEscape = "In deze $variabele is de variable niet geescaped";

Het ligt dus aan de quotes die je gebruikt, bij enkele quotes ( ' ) moet je variabele escapen. Bij dubbele ( " ) hoeft dat niet.

Ik snap het en dat is nou ook precies wat ik bedoel, daar moet ik dus een boek voor hebben, het is voor mij nu nog kijken wat voor resultaat ik krijg als ik iets verander en het lijkt me dus zeer prettig als ik een boek heb waar deze basis ( - ! = " ' + ++ !== < > etc. ) begrippen in staan, plus natuurlijk het één en ander aan nutig voorbeelden.
De twee boeken die jij noemde, voldoen die daar aan ?

Ps. Ik vind het nog knap van mijzelf hoor, in vier weken tijd.
 
Laatst bewerkt:
In die boeken kun je het inderdaad wel vinden...

Maar ook op PHP.net staan ze wel
Arithmetic Operators (simpele wiskundige)
Comparison Operators (Vergelijkingen)
Logical Operators (Logische)

Ik heb ze bij mijn favorieten gezet, met een boek heb je de betekenis uitgelegd en het overzicht in één, het is nu zo als ik al zij uitproberen, natuurlijk als ik dat lang genoeg doe komt het ook wel in het bolletje maar met een boek gaat dat bij mij wat sneller.

Ik moet nog wel even zeggen dat ik hier door jullie op 'Helpmij.nl' uitstekend en snel ben geholpen en zolang de boeken er niet zijn en waarschijnlijk daarna ook nog, zul je me hier regelmatig tegen komen.

Tha Devil, ik heb je naam niet, ik groet u bij deze en tot het volgende grandioze idee wat ik ongetwijfeld weer zal krijgen, Mick ( Broertjuhhh )
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan