Avatar billede franklinpaper Nybegynder
13. august 2006 - 15:40 Der er 19 kommentarer og
2 løsninger

Rykning af billede

Goddag.

Jeg anvender et nyhedssystem, og ved fremvisning af den angivende nyhed, vises det dertilhørende billede i venstre side.
Billedet placeres hverken under eller over, men ved selve tekstens side.
Følgende kode anvendes:

<html>

<head>

<link rel="stylesheet" HREF="../stylesheet.css" type="text/css">
</head>

<body oncontextmenu="return false"ondragstart="return false"onselectstart="return false" rightmargin="0" leftmargin="4" topmargin="3" bottommargin="0">


<form action="index.php" method="post">
<br>
<b>Nyheder:</b>
<br>
<?
include("../config.php");
$sql = "SELECT id FROM nyheder_avis";
$query = mysql_query($sql);
?>
</select>
<?
if (!$show)
{
$show = 0;
}
include("../config.php");
$sql = "SELECT id FROM nyheder_avis";
$query = mysql_query($sql);
$number = mysql_num_rows($query);
echo("Nyheder ialt <b>".$number."</b>.");
?><br>
</br>

</form>
<?
$hent_nyhed = mysql_query("SELECT * FROM nyheder_avis ORDER BY id DESC LIMIT $show,9999999999999") or die(mysql_error());
while($vis = mysql_Fetch_array($hent_nyhed)) {
?>

<table border="0" cellspacing="1" width="100%" height="64">
  <tr>
    <td width="65" rowspan="3">
    -->>>HER ER BILLEDET-->>> <img border="0" src="<?  print $vis[image]; ?>" width="70" height="70" style="border: 1px solid #000000; "></td>
    <td width="482" height="21" valign="top"><b><? echo $vis[overskrift]; ?></b></td>
  </tr>
  <tr>
    <td width="482" valign="middle"><? echo substr($vis[nyhed],0,87); ?>..</td>
  </tr>
  <tr>
    <td width="482" height="17"><a href="vis_nyhed.php?id=<? echo $vis[id]; ?>">
    <u>Læs Nyheden</u></a>&nbsp; Skrevet<a href="../community/seprofil.php?brugernavn=<? echo $vis[forfatter]; ?>"><? echo $vis[forfatter]; ?></a> <i>d. <? echo $vis[dato]; ?></i></td>
  </tr>
</table>

<hr>


</body>

</html>
<?
}
?>


Opgaven lyder, hvorledes dette stykke kode ændres, således billedet rykkes fra at stå i venstre side af teksten, til den højre.

Jeg takker mange gange på forhånd, og håber på besvarelser!
Avatar billede thesurfer Nybegynder
13. august 2006 - 15:45 #1
Har du prøvet at bytte om på de to celler? Altså billede-cellen og tekst-cellen..
Avatar billede thesurfer Nybegynder
13. august 2006 - 15:47 #2
Hmm.. er der ikke noget galt med din loop?

Den skal løbe igennem samtlige nyheder, men er "slut loop" ikke placeret for langt ned..?:

</html>
<?
}
?>

Hvis du kigger i koden, står der så ikke sammen antal af "</html>", som der er nyheder?
Avatar billede franklinpaper Nybegynder
13. august 2006 - 16:14 #3
Tak for besvarelsen!
Jeg har ikke meget erfaring med php, og er derfor ikke klar over hvad definitionen af et 'loop' er.

Jeg har ikke forsøgt den funktion du nævner, jeg ville sætte stor pris på dets udførelse!
Avatar billede thesurfer Nybegynder
13. august 2006 - 16:32 #4
"loop" er ikke en funktion.

"loop" betyder at den "gentager samme handling".

Eksempel på en loop:

> Start loop/gentagelser
- hent data (nyheder) fra databasen
- udskriv billede
- udskriv nyheden
> så længe der er flere poster, hop til start

Det er ikke PHP, men HTML du skal redigere i..

Prøv det her:

<table border="0" cellspacing="1" width="100%" height="64">
  <tr>
    <td width="482" height="17"><a href="vis_nyhed.php?id=<? echo $vis[id]; ?>">
    <u>Læs Nyheden</u></a>&nbsp; Skrevet<a href="../community/seprofil.php?brugernavn=<? echo $vis[forfatter]; ?>"><? echo $vis[forfatter]; ?></a> <i>d. <? echo $vis[dato]; ?></i></td>
  </tr>
  <tr>
    <td width="482" valign="middle"><? echo substr($vis[nyhed],0,87); ?>..</td>
  </tr>
  <tr>
    <td width="65" rowspan="3">
    -->>>HER ER BILLEDET-->>> <img border="0" src="<?  print $vis[image]; ?>" width="70" height="70" style="border: 1px solid #000000; "></td>
    <td width="482" height="21" valign="top"><b><? echo $vis[overskrift]; ?></b></td>
  </tr>
</table>
Avatar billede thesurfer Nybegynder
13. august 2006 - 16:32 #5
Hvis det er muligt, læg siden op på internettet, så vi kan se resultatet..
Avatar billede zynzz Praktikant
13. august 2006 - 17:18 #6
Hvis den skal være til højre...
<img border="0" src="BILLED HER" width="64" height="12" align="right">


Hvis det var for at få den til at skifte side hver anden gang:

De skal selv udføres i løkken...
$placering = ($i%2) ? "left" : "right" ;

$i++;
Avatar billede thesurfer Nybegynder
13. august 2006 - 17:24 #7
zynzz> Der bruges tabeller.. billedet er i en tabel for sig, og det samme med tekst.
Avatar billede thesurfer Nybegynder
13. august 2006 - 17:25 #8
Rettelse ("tabel" -> "celle"):
zynzz> Der bruges tabeller.. billedet er i en celle for sig, og det samme med tekst.
Avatar billede zynzz Praktikant
13. august 2006 - 18:11 #9
Ja, det kan jeg godt se, men det kunne jo evt. sættes ind i cellen ?:

<table border="0" cellspacing="1" width="100%" height="64">
<?
$hent_nyhed = mysql_query("SELECT * FROM nyheder_avis ORDER BY id DESC LIMIT $show,9999999999999") or die(mysql_error());
while($vis = mysql_Fetch_array($hent_nyhed)) {
?>
<tr>
<td><? echo $vis[overskrift]; ?></td>
</tr>
<tr>
<td><img border="0" src="<? echo $vis[image]; ?>" align="left"><? echo substr($vis[nyhed],0,87); ?>...</td>
</tr>
<tr>
<td>"><a href="vis_nyhed.php?id=<? echo $vis[id]; ?>"><u>Læs Nyheden</u></a>&nbsp; Skrevet<a href="../community/seprofil.php?brugernavn=<? echo $vis[forfatter]; ?>"><? echo $vis[forfatter]; ?></a> <i>d. <? echo $vis[dato]; ?></i></td>
</tr>
<?
}
?>
</table>
Avatar billede zynzz Praktikant
13. august 2006 - 18:12 #10
Limit skal nok lige ændres, jeg kopirede bare lige dit...
Avatar billede zynzz Praktikant
13. august 2006 - 18:14 #11
<table border="0" cellspacing="1" width="100%" height="64">
<?
$hent_nyhed = mysql_query("SELECT * FROM nyheder_avis ORDER BY id DESC LIMIT $show,9999999999999") or die(mysql_error());
while($vis = mysql_Fetch_array($hent_nyhed)) {
?>
<tr>
<td><? echo $vis[overskrift]; ?></td>
</tr>
<tr>
<td><img border="0" src="<? echo $vis[image]; ?>" align="left"><? echo substr($vis[nyhed],0,87); ?>...</td>
</tr>
<tr>
<td><a href="vis_nyhed.php?id=<? echo $vis[id]; ?>"><u>Læs Nyheden</u></a>&nbsp; Skrevet<a href="../community/seprofil.php?brugernavn=<? echo $vis[forfatter]; ?>"><? echo $vis[forfatter]; ?></a> <i>d. <? echo $vis[dato]; ?></i></td>
</tr>
<?
}
?>
</table>
Avatar billede thesurfer Nybegynder
13. august 2006 - 18:34 #12
Man kunne også evt bruger span sammen med float:left og float:right..
<span style="float:left">tekst</span>
<span style="float:right">billede</span>

Eller noget i den stil..
Avatar billede zynzz Praktikant
13. august 2006 - 19:40 #13
yep..
Avatar billede franklinpaper Nybegynder
24. august 2006 - 19:32 #14
Det fungerer desværre ikke.
Desuden anvender jeg td.
Avatar billede thesurfer Nybegynder
25. august 2006 - 08:32 #15
franklinpaper> Du kan sagtens have SPAN i TD.. jeg prøver at lave et eksempel i dag, hvis jeg får tid til det..
Avatar billede thesurfer Nybegynder
25. august 2006 - 11:49 #16
Den simple udgave uden span ser sådan ud:

<table border="1" cellspacing="1" width="100%" height="64">
<tr>
    <td>overskrift</td>
    <td width="65" rowspan="3">
        billede
    </td>
</tr>
<tr>
    <td>
        87 tegn
    </td>
</tr>
<tr>
    <td>
        link
    </td>
</tr>
</table>

Erstat teksten med din PHP kode.
Avatar billede thesurfer Nybegynder
25. august 2006 - 11:50 #17
Jeg kigger lige på en span-udgave, som nok er lidt overflødig nu..

Svar
Avatar billede thesurfer Nybegynder
25. august 2006 - 11:57 #18
Jeg har nu indsat PHP koden til tabellen, fra dit spørgsmål:

<?
$hent_nyhed = mysql_query("SELECT * FROM nyheder_avis ORDER BY id DESC LIMIT $show,9999999999999") or die(mysql_error());
while($vis = mysql_Fetch_array($hent_nyhed)) {
?>

<table border="1" cellspacing="1" width="100%" height="64">
<tr>
    <td width="482" height="21" valign="top">
        <b>Overskrift: <? echo $vis[overskrift]; ?></b>
    </td>
    <td width="65" rowspan="3">
        Billede: <img border="0" src="<?  print $vis[image]; ?>" width="70" height="70" style="border: 1px solid #000000; ">
    </td>
</tr>
<tr>
    <td width="482" valign="middle">
        Synopsis: <? echo substr($vis[nyhed],0,87); ?>..
    </td>
</tr>
<tr>
    <td width="482" height="17">
        Link til tekst: <a href="vis_nyhed.php?id=<? echo $vis[id]; ?>">
    <u>Læs Nyheden</u></a>&nbsp; Skrevet<a href="../community/seprofil.php?brugernavn=<? echo $vis[forfatter]; ?>"><? echo $vis[forfatter]; ?></a> <i>d. <? echo $vis[dato]; ?></i>
    </td>
</tr>
</table>

<hr>

<?
}
?>


Jeg er stadigvæk overbevist om at den afsluttende "}" skal være efter "<hr>" og ikke efter "</html>", da den afslutter WHILE-løkken, som er inde i BODY-området.
Avatar billede thesurfer Nybegynder
25. august 2006 - 12:08 #19
Man kunne også lave det så simpelt:

<table>
<tr>
    <td>
        overskrift<br>
        synopsis<br>
        link
    </td>
    <td>
        billede
    </td>
</tr>
</table>

Men det er nok for simpelt..
Avatar billede thesurfer Nybegynder
25. august 2006 - 12:15 #20
Her er 2 simple løsninger med test-værdier, som du kan ændre/fjerne som du vil:


<br><br>
DIV + SPAN + BR:<br>

<div style="border:1px solid #ff0000;width:200px">
    <span style="float:left">
        overskrift<br>
        synopsis<br>
        link
    </span>
    <span style="float:right">
        billede
    </span>
</div>


<br><br>

DIV + SPAN + TABLE:<br>

<div style="border:1px solid #ff0000;width:200px">
    <span style="float:left">
        <table>
        <tr>
            <td>
                overskrift
            </td>
        </tr>
        <tr>
            <td>
                synopsis
            </td>
        </tr>
        <tr>
            <td>
                link
            </td>
        </tr>
        </table>
    </span>
    <span style="float:right">
        billede
    </span>
</div>


Når du kigger på mine 4-5 indlæg, kan du nok selv finde på flere muligheder.

PS: teksten skal bare erstattes af din PHP kode, osv (som før)..
Avatar billede franklinpaper Nybegynder
25. august 2006 - 18:16 #21
Mange tak, du er et geni!
Jeg er ubekrivelig taknemmelig for løsningen af dette problem.
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