/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Fra formular til object
Fra : Dennis Munding


Dato : 07-10-07 17:16

Hej NG!

Jeg må ærligt erkende, at klappen er gået ned, og at jeg har fået sort
skærm...

Min "opgave" er flg.:

1) Hente navn på artist, titel på sang og link fra database.
2) Køre det igennem en løkke og udskrive det til brugeren.
3) Overføre data fra formular efter bruger-input til object.

Jeg har ingen problemer med pkt. 1 og 2, men det fejler med pkt. 3 - uanset
hvad, så er det kun de sidst hentede data fra MySQL, som bliver indsat i min
object...

Jeg tillader mig at poste koden her istedet for på f.eks. pastebin.dk, da
der ikkeer så meget....:

<div id="musik">
<form action="<? $_SERVER['PHP_SELF']; ?>" method="post">
<?
$db=mysql_connect("SERVER", "BRUGER", "PASS");
mysql_select_db("DATABASE");
$sql = "select * from musik order by artist asc";
$result = mysql_query($sql, $db) or die(mysql_error());
?>
<select>
<option value=""> ------------------------- Vælg
musik ------------------------- </option>
<?
while ($record = mysql_fetch_assoc ($result)){
$artist = $record['artist'];
$titel = $record['titel'];
$link = $record['link'];
echo "<option value=".$artist.", ".$titel.", ".$link.">".$artist." -
\"".$titel."\"</option>";
}
?>
</select>
<input name="valg" type="submit" value="Vælg" />
</form> /* HERTIL GÅR DET FINT... */


Hvad skal der til i nedenstående for at data bliver overført til
nedenstående, når brugeren klikker på "Vælg"??
<?
if(isset($_POST['valg'])) {
echo "<object type=\"application/x-shockwave-flash\"
data=\"http://www.youtube.com/v/".$link."\" width=\"400\" height=\"300\">
<param name=\"movie\" value=\"http://www.youtube.com/watch/v/".$link."\"
/>
<param name=\"wmode\" value=\"transparent\" />
</object><br />
<span class=\"titel\">".$artist." - ".$titel."</span>";
}
?>
</div>

Det er ikke noget der haster - blot noget jeg "roder" lidt med, men har haft
for lidt tid til at læse ordenligt på lektien - et hint i den rigtige
retning bliver også værdsat!

Siden kan ses her:
http://skovaa-munding.dk/Test/Test.php

PS: Lad være med at kigge i kildekoden - jeg har postet koden her og skjult
en del overflødigt netop for overskuelighedens skyld...

På forhånd mange tak for hjælpen!


Med venlig hilsen
--
Dennis Munding
http://as-transport.dk/ -Sikker møbeltransport til tiden!
http://pe-vagtservice.dk/ -Når du vil passe på dine værdier!
http://munding-webdesign.dk/ -Vi ses! Ganske enkelt...


 
 
Johan Holst Nielsen (07-10-2007)
Kommentar
Fra : Johan Holst Nielsen


Dato : 07-10-07 19:32

Dennis Munding wrote:
> Jeg har ingen problemer med pkt. 1 og 2, men det fejler med pkt. 3 -
> uanset hvad, så er det kun de sidst hentede data fra MySQL, som bliver
> indsat i min object...
>
> Jeg tillader mig at poste koden her istedet for på f.eks. pastebin.dk,
> da der ikkeer så meget....:
>
> <div id="musik">
> <form action="<? $_SERVER['PHP_SELF']; ?>" method="post">
> <?
> $db=mysql_connect("SERVER", "BRUGER", "PASS");
> mysql_select_db("DATABASE");
> $sql = "select * from musik order by artist asc";
> $result = mysql_query($sql, $db) or die(mysql_error());
> ?>
> <select>

<select> ændres til
<select name="musik">

> <option value=""> ------------------------- Vælg musik
> ------------------------- </option>
> <?
> while ($record = mysql_fetch_assoc ($result)){
> $artist = $record['artist'];
> $titel = $record['titel'];
> $link = $record['link'];
> echo "<option value=".$artist.", ".$titel.", ".$link.">".$artist." -
> \"".$titel."\"</option>";
> }
> ?>
> </select>
> <input name="valg" type="submit" value="Vælg" />
> </form> /* HERTIL GÅR DET FINT... */
>
>
> Hvad skal der til i nedenstående for at data bliver overført til
> nedenstående, når brugeren klikker på "Vælg"??
> <?
> if(isset($_POST['valg'])) {

tilføj

list($artist,$titel,$link) = explode(',',$_POST['musik']);

> echo "<object type=\"application/x-shockwave-flash\"
> data=\"http://www.youtube.com/v/".$link."\" width=\"400\" height=\"300\">
> <param name=\"movie\"
> value=\"http://www.youtube.com/watch/v/".$link."\" />
> <param name=\"wmode\" value=\"transparent\" />
> </object><br />
> <span class=\"titel\">".$artist." - ".$titel."</span>";
> }
> ?>
> </div>

Så skulle det virke :)

--
Johan Holst Nielsen
Freelance PHP Developer - http://phpgeek.dk

Johan Holst Nielsen (07-10-2007)
Kommentar
Fra : Johan Holst Nielsen


Dato : 07-10-07 19:33

Johan Holst Nielsen wrote:
>> echo "<option value=".$artist.", ".$titel.", ".$link.">".$artist." -
>> \"".$titel."\"</option>";

Hov - du bør også ændre ", " begge steder til ","...

Og sørge for der ikke er komma i artist, titel og link - ellers bør du
ændre det? :)

--
Johan Holst Nielsen
Freelance PHP Developer - http://phpgeek.dk

Dennis Munding (07-10-2007)
Kommentar
Fra : Dennis Munding


Dato : 07-10-07 19:59

Hej Johan!
"Johan Holst Nielsen" <spam@phpgeek.dk> skrev i meddelelsen
news:47092671$0$90263$14726298@news.sunsite.dk...
> Johan Holst Nielsen wrote:
>>> echo "<option value=".$artist.", ".$titel.", ".$link.">".$artist." -
>>> \"".$titel."\"</option>";
>
> Hov - du bør også ændre ", " begge steder til ","...

Din opskrift er nu fulgt til punkt og prikke (tak for det hurtige svar!
, og der er da sket noget nyt ved det...
Nu udskriver den ikke den sidste post fra db mere... Men!
Hvis jeg f.eks. vælger Bee Gees "You Win Again", udskriver den kun
"Bee -"...???

> Og sørge for der ikke er komma i artist, titel og link - ellers bør du
> ændre det? :)

Det skulle der ikke være, men der er mellemrum - har det nogen betydning?


Med venlig hilsen
--
Dennis Munding
http://as-transport.dk/ -Sikker møbeltransport til tiden!
http://pe-vagtservice.dk/ -Når du vil passe på dine værdier!
http://munding-webdesign.dk/ -Vi ses! Ganske enkelt...


Peter Brodersen (08-10-2007)
Kommentar
Fra : Peter Brodersen


Dato : 08-10-07 00:39

On Sun, 7 Oct 2007 18:16:17 +0200, "Dennis Munding" <mail@invalid.dk>
wrote:

> echo "<option value=".$artist.", ".$titel.", ".$link.">".$artist." -
>\"".$titel."\"</option>";

Hvis du vælger at vise kildeteksten vil du se, at du får et resultat i
stil med:

<option value=Bee Gees,Album,Whatnot>

I HTML skal man bruge en form for gåseøjne rundt om hele værdien, så
outputtet fx er:
<option value="Bee Gees,Album,Whatnot">

Indholdet må naturligvis heller ikke selv rumme gåseøjne, så jeg ville
fx anbefale:

echo "<option
value=\"".htmlspecialchars($artist.",".$titel.",".$link)."\">".$artist."
- \"".$titel."\"</option>";

--
- Peter Brodersen
Kendt fra Internet

Dennis Munding (08-10-2007)
Kommentar
Fra : Dennis Munding


Dato : 08-10-07 07:24

Hej Peter!
"Peter Brodersen" skrev:
>> echo "<option value=".$artist.", ".$titel.", ".$link.">".$artist." -
>>\"".$titel."\"</option>";
>
> Hvis du vælger at vise kildeteksten vil du se, at du får et resultat i
> stil med:
>
> <option value=Bee Gees,Album,Whatnot>
>
> I HTML skal man bruge en form for gåseøjne rundt om hele værdien, så
> outputtet fx er:
> <option value="Bee Gees,Album,Whatnot">

Argh! Selvfølgelig! Det er øjnene, man først bliver blind på...
Det var lige det, der skulle til, for at Johans "servering på et sølvfad"
virkede....

> Indholdet må naturligvis heller ikke selv rumme gåseøjne, så jeg ville
> fx anbefale:
>
> echo "<option
> value=\"".htmlspecialchars($artist.",".$titel.",".$link)."\">".$artist."
> - \"".$titel."\"</option>";

Det skulle så ikke være nødvendigt i det her tilfælde, da jeg helt selv
styrer, hvilke data og hvordan de ser ud, der bliver sat ind i databasen.
Men det er gemt til senere brug!

Mange tak til jer begge - nu virker det!


Med venlig hilsen
--
Dennis Munding
http://as-transport.dk/ -Sikker møbeltransport til tiden!
http://pe-vagtservice.dk/ -Når du vil passe på dine værdier!
http://munding-webdesign.dk/ -Vi ses! Ganske enkelt...


Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408924
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste