Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Valintalistan täyttöongelma

Tapani [31.08.2005 13:14:27]

#

Tässäpä hieman erikoinen valintalistan täyttöongelma. Lehtien nimet olisi kätevintä
hakea valintalistoihin MySQL-kannasta:

<?php
	include("include/db_inc.php");
	$link=openDB();
?>
<?php

	$sql = "select distinct lehti from lehtitaulu";
	$result=mysql_query($sql,$link);
	if(mysql_num_rows($result)==0)

	{
		print "Ei lehtia tietokannassa!";
		exit();
	}
?>

<select NAME="Lehti[]" multiple size="4">

<?php

	while($row=mysql_fetch_assoc($result))
	{
		print "<option value=\"".$row['Lehti']."\">".$row['lehti']."</option>\n";
	}
?>

</select>


Osa lehtien nimistä talletetaan kuitenkin kantaan lyhenteinä, joten hakeminen suoraan
kannasta ei onnistu. Lyhenteiden kääntäminen tapahtuu funktiot.php -tiedostosta löytyvän
funktion avulla:

<?php

function AvaaLehdennimi(&$lehtia)
{
  switch($lehtia) {
  case "lyhenne":
  $lehtia="koko nimi";
  break;
  default:
  break;
  }
}

?>

Näin ollen muuttujaan haetun lehden nimen saisi käännettyä normaalimuotoon ja alkamaan
isoilla alkukirjaimilla (kaikki kantaan tallennetut lehtien nimet alkavat pienellä
alkukirjaimella):

<?php
require "funktiot.php";
$lehtia=$lehti;
AvaaLehdennimi($lehtia);
$lehtia = ucfirst($lehtia);

?>

Olisiko sitten mahdollista saada näkymään näin käsitellyt lehtien nimet valintalistaan,
vai onko viisaampi tyytyä täyttämään valintalistat html:ssä?

kasetti [31.08.2005 13:26:25]

#

Etkös voi kannasta hakiessa ajaa kaikki "lehdet" funktiosi läpi, jolloin Optionissa arvo muuttuu:

<?php
while($row=mysql_fetch_assoc($result)){
     $Lehtiseni = $row['Lehti'];
     echo "<option value=\"".$Lehtiseni ."\">".ucfirst(AvaaLehdennimi($Lehtiseni))."</option>\n";
}
?>

Vai oliko tästä edes kysymys?

Tapani [31.08.2005 16:20:30]

#

Ihan oikein ymmärsit kysymyksen. Kiitos vaan avusta. Testailen "lehtien" ajamista funktion läpi jo hakuvaiheessa.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta