Avatar billede kimdolleris Nybegynder
29. marts 2006 - 10:29 Der er 20 kommentarer og
1 løsning

Erstatte udtræk med gif

Hey!

Spørgsmål: Kan man når man henter data fra mysql-DB erstatte en værdi med en gif fx.. altså: hvis (bestemt værdi) vis (img.gif height=20 widt=20)...?


:) Kim
Avatar billede hmortensen Nybegynder
29. marts 2006 - 10:32 #1
Du kan bruge str_replace()
$nyStr = str_replace("find mig", "img.gif", $str);
Avatar billede kimdolleris Nybegynder
29. marts 2006 - 10:37 #2
hmm.. min tabel:

------------

$data = mysql_query("SELECT * FROM members ORDER BY name ASC")
or die(mysql_error());

while($info = mysql_fetch_array( $data ))
{   
Print "<tr><td>".$info['name'] . "</td>";
Print "<td>".$info['age'] . "</td>";
Print "<td>".$info['email'] . "</td>";
Print "</tr>";

-------------

Altså hvis age fx er "30+" så skal der være en gif der hedder "30.gif". Og hvis den er "40+" skal der være en gif der hedder "40.gif".

Har kun siddet med ph i 3 dage - be gentle ;)
Avatar billede jackass- Nybegynder
29. marts 2006 - 11:30 #3
function agepic($age) {
  if (($age >= 10) && ($age < 20)) { echo "<img src=\"10.gif\" height=\"20\" width=\"20\" border=\"0\">&nbsp;"; }
  if (($age >= 20) && ($age < 30)) { echo "<img src=\"20.gif\" height=\"20\" width=\"20\" border=\"0\">&nbsp;"; }
  if (($age >= 30) && ($age < 40)) { echo "<img src=\"30.gif\" height=\"20\" width=\"20\" border=\"0\">&nbsp;"; }
  if (($age >= 40) && ($age < 50)) { echo "<img src=\"40.gif\" height=\"20\" width=\"20\" border=\"0\">&nbsp;"; }
  if (($age >= 50) && ($age < 60)) { echo "<img src=\"50.gif\" height=\"20\" width=\"20\" border=\"0\">&nbsp;"; }
  if (($age >= 60) && ($age < 70)) { echo "<img src=\"60.gif\" height=\"20\" width=\"20\" border=\"0\">&nbsp;"; }
  if (($age >= 70) && ($age < 80)) { echo "<img src=\"70.gif\" height=\"20\" width=\"20\" border=\"0\">&nbsp;"; }
}

$data = mysql_query("SELECT * FROM members ORDER BY name ASC")
or die(mysql_error());

echo "<table>";
while($info = mysql_fetch_array( $data )) {   
  Print "<tr><td>".$info['name'] . "</td>";
  Print "<td>" . agepic($info['age']) . "</td>";
  Print "<td>".$info['email'] . "</td></tr>";
}
echo "</table>";
Avatar billede jackass- Nybegynder
29. marts 2006 - 11:31 #4
Altså.. i stedet for at lave en masse tjek på alder, så gør det i en function i stedet, som du så kan kalde når du skal bruge den.
Avatar billede proman Nybegynder
29. marts 2006 - 11:33 #5
Jackass, du ser jo ud til at være ret hård til det med PHP..

Her bagefter, kunne du så ikke hjælpe mig med noget? :D
Avatar billede proman Nybegynder
29. marts 2006 - 11:35 #6
Du kunne jo lige se på mit spørgsmål når du engang har tid: http://www.eksperten.dk/spm/698852
Avatar billede jackass- Nybegynder
29. marts 2006 - 11:36 #7
Hehe der er nu mange der er meget bedre end mig, men vi prøver da, ikk'? :)

Og jo, opret du bare et spørgsmål, så vil jeg eller en anden herinde garanteret forsøge at give vores bedste bud på en løsning.
Avatar billede proman Nybegynder
29. marts 2006 - 11:39 #8
Har jo spørgsmålet :P Men mangler bare hjælpen ^^
Avatar billede kimdolleris Nybegynder
29. marts 2006 - 11:44 #9
jackass! Du er min frelser i dag! Der kommer måske lidt flere ?? senere! Tak - svar bitte!
Avatar billede jackass- Nybegynder
29. marts 2006 - 11:47 #10
Så lidt :)
Avatar billede kimdolleris Nybegynder
29. marts 2006 - 11:53 #11
hmm... den placere dem ikke i tabellen..
Avatar billede kimdolleris Nybegynder
29. marts 2006 - 11:54 #12
selvom: Print "<td align='center' width='36'>".agepic($info['age']) . "</td>";
Avatar billede jackass- Nybegynder
29. marts 2006 - 12:00 #13
Sorry, så gør det sådan her:

while($info = mysql_fetch_array( $data )) {
  $billede = agepic($info['age']);
  Print "<tr><td>".$info['name'] . "</td>";
  Print "<td>" . $billede . "</td>";
  Print "<td>".$info['email'] . "</td></tr>";
}
Avatar billede kimdolleris Nybegynder
29. marts 2006 - 12:06 #14
hmm.. no change :(
Avatar billede kimdolleris Nybegynder
29. marts 2006 - 12:10 #15
jeg har skrevet det lidt om... kan det være det : 

if ($age == 50){Print "<img src='images\50.gif' height='20' width='20' border='0'>"; }
Avatar billede jackass- Nybegynder
29. marts 2006 - 12:34 #16
Nej.. det er mig der sover... du får det lige her:

function agepic($age) {
  if (($age >= 10) && ($age < 20)) { $pic = "<img src=\"10.gif\" height=\"20\" width=\"20\" border=\"0\">&nbsp;"; }
  if (($age >= 20) && ($age < 30)) { $pic = "<img src=\"20.gif\" height=\"20\" width=\"20\" border=\"0\">&nbsp;"; }
  if (($age >= 30) && ($age < 40)) { $pic = "<img src=\"30.gif\" height=\"20\" width=\"20\" border=\"0\">&nbsp;"; }
  if (($age >= 40) && ($age < 50)) { $pic = "<img src=\"40.gif\" height=\"20\" width=\"20\" border=\"0\">&nbsp;"; }
  if (($age >= 50) && ($age < 60)) { $pic = "<img src=\"50.gif\" height=\"20\" width=\"20\" border=\"0\">&nbsp;"; }
  if (($age >= 60) && ($age < 70)) { $pic = "<img src=\"60.gif\" height=\"20\" width=\"20\" border=\"0\">&nbsp;"; }
  if (($age >= 70) && ($age < 80)) { $pic = "<img src=\"70.gif\" height=\"20\" width=\"20\" border=\"0\">&nbsp;"; }
  return $pic;
}

$data = mysql_query("SELECT * FROM members ORDER BY name ASC")
or die(mysql_error());

echo "<table>";
while($info = mysql_fetch_array( $data )) {
  $billede = agepic($info['age']);
  Print "<tr><td>".$info['name'] . "</td>";
  Print "<td>" . $billede . "</td>";
  Print "<td>".$info['email'] . "</td></tr>";
}
echo "</table>";
Avatar billede kimdolleris Nybegynder
29. marts 2006 - 12:55 #17
BINGO! Må jeg ha lov at sige tak endnu engang!
Avatar billede jackass- Nybegynder
29. marts 2006 - 12:57 #18
Hehe.. så undskylder jeg for fejlen :)
Avatar billede kimdolleris Nybegynder
29. marts 2006 - 13:12 #19
np - du hjalp jo!
Avatar billede proman Nybegynder
29. marts 2006 - 19:37 #20
Melder mig lige ud her så jeg ikke hele tiden får mail *G*
Avatar billede hmortensen Nybegynder
29. marts 2006 - 19:44 #21
Og en lidt kortere udgave:
function agepic($age)
{
    $age = (int)($age / 10) * 10;
    return "<img src=\"".$age.".gif\" height=\"20\" width=\"20\" border=\"0\">&nbsp;";
}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester