php + mysql + span
-
refr0
Star
- Príspevky: 521
- Registrovaný: 26 nov 2005, 10:55
- Bydlisko: Trenčín
- Kontaktovať používateľa:
php + mysql + span
caute ako by sa dalo spravit to ze ked zapisem do DB niaky nazov a chcem aby sa prve pismeno vzdi obalilo do <span></span> ? je jedno ci sa to obali uz zapisane do DB alebo sa to nacita spracuje a potom zobrazi.. len nech to na str vzdi zobrazi ako napr <span class="green">N</span>azov .. ak by nieco niekdo vedel tak by mi fakt pomohol..
Nestačí ti niečo takéto?(a teda zmena vzhľadu iba pomocou CSS)
Kód: Vybrať všetko
<html>
<head>
<style>
.nazov:first-letter {
color: green;
}
</style>
</head>
<body>
<h1 class="nazov">Toto je nazov</h1>
</body>
</html>Kód: Vybrať všetko
function upravPrvyZnak($s, $c="first_char")
{
if (preg_match("/(.[.]?)(.*)/", $s, $matches) > 0) {
return '<span class="' . $c . '">' . $matches[1] . '</span>' . $matches[2];
} else {
return "";
}
return print_r($matches, true);
return substr($s, 1);
}
echo upravPrvyZnak("Nazov"), "<br>";
echo upravPrvyZnak("P.. O. team", "green"), "<br>";
echo upravPrvyZnak(""), "<br>";-
refr0
Star
- Príspevky: 521
- Registrovaný: 26 nov 2005, 10:55
- Bydlisko: Trenčín
- Kontaktovať používateľa:
mno len by ma ete zaujimalo ako hodim do premennej $nadpis_
Kód: Vybrať všetko
return '<span style="color:blue;">' . $matches[1] . '</span>' . $matches[2]; -
jurko.info
Medium Expert
- Príspevky: 108
- Registrovaný: 22 nov 2006, 0:16
- Kontaktovať používateľa:
Kód: Vybrať všetko
mno len by ma ete zaujimalo ako
[code]
return '<span style="color:blue;">' . $matches[1] . '</span>' . $matches[2];
[/code]
"return" funkcie jednoducho priradíš ako hodnotu premennej
Kód: Vybrať všetko
$nadpis_ = upravPrvyZnak($s, $c="first_char");
(Takmer) Presne tak, ako píše jurko.info.
Samozrejme ten prvý parameter bude vyzerať pravdepodobne inak (napr. $row['nazov']), ale to záleží od toho, ako presne máš ten skript urobený.
Kód: Vybrať všetko
$nadpis = upravPrvyZnak("P.. O. team", "green");-
refr0
Star
- Príspevky: 521
- Registrovaný: 26 nov 2005, 10:55
- Bydlisko: Trenčín
- Kontaktovať používateľa:
to asi koli tomu ze jak to vytahujem z DB tak tam mam while a mam to v tom ... a kod klasika...
Kód: Vybrať všetko
$result=mysql_query("SELECT * from referencie order by ID ASC");
while ($row=mysql_fetch_array($result)) {
$nazov=$row[nazov];
function upravPrvyZnak($s)
{
if (preg_match("/(.[.]?)(.*)/", $s, $matches) > 0) {
return '<span class="green">' . $matches[1] . '</span>' . $matches[2] . '';
} else {
return "";
}
return print_r($matches, true);
return substr($s, 1);
}
$nazov1 = upravPrvyZnak("$nazov");
echo "<div class=\"image2\">$obrazok</div>
<h1>$nazov1</h1>";}Z tej funkcie môžeš vymazať(ja som to vymazať zabudol)
Ďalej môžeš zmeniťna(je zbytočné meniť reťazec na reťazec)
A nakoniec, presuň tú funkciu pred while (lebo keď je v tom while, tak sa pri každom prechode znovu definuje a to sa php nepáči).
Kód: Vybrať všetko
return print_r($matches, true);
return substr($s, 1);Ďalej môžeš zmeniť
Kód: Vybrať všetko
upravPrvyZnak("$nazov");Kód: Vybrať všetko
upravPrvyZnak($nazov);A nakoniec, presuň tú funkciu pred while (lebo keď je v tom while, tak sa pri každom prechode znovu definuje a to sa php nepáči).
Kód: Vybrať všetko
function upravPrvyZnak($s)
{
if (preg_match("/(.[.]?)(.*)/", $s, $matches) > 0) {
return '<span class="green">' . $matches[1] . '</span>' . $matches[2];
} else {
return "";
}
}
$result=mysql_query("SELECT * from referencie order by ID ASC");
while ($row=mysql_fetch_array($result)) {
$nazov = upravPrvyZnak($row['nazov']);
echo "<div class=\"image2\">$obrazok</div><h1>$nazov</h1>";
}