Avatar billede jokerper Nybegynder
24. august 2008 - 14:45 Der er 30 kommentarer og
1 løsning

Billeder fra DB til Array

Mit spørgsmål lyder på hvordan jeg får indsat billeder fra min DB til et array.

mysql_query("SELECT billede FROM oensker WHERE user = '".$bruger."'");


Sources=new Array( ??????

Hvordan gør jeg sådan så jeg får alle billederne fra ".$bruger." sat ind i Sources=new Array(


Lige nu bruger jeg dette:
"images/1.JPG","",
"images/2.JPG","",
"images/3.JPG","",
osv...

Så skulle den selv kunne trække alle billederne ud af datbasen og indsætte i new Array?
Avatar billede w13 Novice
24. august 2008 - 14:49 #1
Måske noget i stil med:

$billeder=mysql_query("SELECT billede FROM oensker WHERE user = '".$bruger."'");

Sources=Array();
while($row=$billeder){
  Sources[]=$row['billede'];
}
Avatar billede w13 Novice
24. august 2008 - 14:50 #2
Hov, Sources skal jo være $sources:

$billeder=mysql_query("SELECT billede FROM oensker WHERE user = '".$bruger."'");

$sources=Array();
while($row=$billeder){
  $sources[]=$row['billede'];
}

Du kan selvfølgelig også bare bruge:

$sources=mysql_query("SELECT billede FROM oensker WHERE user = '".$bruger."'");

Så ligger de jo i array'et $sources.
Avatar billede jokerper Nybegynder
24. august 2008 - 15:05 #3
Hejsa w13

Kan du ikke prøve at omskrive det efter dette her. Jeg tror nemlig at problemet ligger i en blanding mellem php og html kode.

HTML kode....

Start på php kode....

$row=mysql_query("SELECT billede FROM oensker WHERE user = '".$bruger."'"); ?>
    Sources=<?php Array();
while($row=$billeder){
  $sources[]=$row['billede'];
}
?>);


php skal afsluttes
//Html kode igen

Så jeg bare skal sætte det korrekt ind.
Avatar billede jokerper Nybegynder
24. august 2008 - 15:07 #4
For det virkede ikke lige da jeg forsøgte...
og måske bruge den løsning:
$sources=mysql_query("SELECT billede FROM oensker WHERE user = '".$bruger."'");
Avatar billede w13 Novice
24. august 2008 - 15:14 #5
Er det ikke et PHP-array, som billederne skal lægges i? Så skal du jo bruge:

<?php

$row=mysql_query("SELECT billede FROM oensker WHERE user = '".$bruger."'");
$sources=Array();
while($row=$billeder){
  $sources[]=$row['billede'];
}

?>

Eller:

<?php

$sources=mysql_query("SELECT billede FROM oensker WHERE user = '".$bruger."'");

?>
Avatar billede jokerper Nybegynder
24. august 2008 - 15:30 #6
Okay det må være lige ved - jeg får fejlen ved højrekilk på det røde kryds "når billedet ikke vises" mitdomæne.dk/undefined.

<?php
$conn = mysql_connect('xxxx','xxxx','xxxxx') or die (mysql_error());
mysql_select_db("oenskeliste");
    $row=mysql_query("SELECT billede FROM oensker WHERE user = '".$bruger."'"); ?>
Car_Image_Sources=new Array();<?php
while($row=$billeder){
  $Car_Image_Sources[]=$row['billede'];
}


?>

Der er html kode både før og efter dette.

Håber du kan se fejlen?
Avatar billede w13 Novice
24. august 2008 - 15:44 #7
Blander du JavaScript og PHP? Du kan ikke gøre sådan, som du prøver. Du har jo rettet tilbage, efter at jeg rettede din kode..
Avatar billede jokerper Nybegynder
24. august 2008 - 15:51 #8
Ja, jeg cykler nok rundt i det. Men det er rigtigt nok inde i et javacript.

Car_Image_Sources=new Array(

"images/1.JPG","",
"images/2.JPG","",
"images/3.JPG","",
);

Kan man ikke putte noget php ind et det?
Avatar billede w13 Novice
24. august 2008 - 16:01 #9
Så skal flere ting ændres. Brug:

<?php
$conn = mysql_connect('xxxx','xxxx','xxxxx') or die (mysql_error());
mysql_select_db("oenskeliste");
$row=mysql_query("SELECT billede FROM oensker WHERE user = '".$bruger."'");
?>
Car_Image_Sources=[];
<?php
while($row=$billeder){
?>
  Car_Image_Sources.push("<?php echo $row['billede']; ?>");
<?php
}
?>
Avatar billede w13 Novice
24. august 2008 - 16:02 #10
Car_Image_Sources=[];
svarer til:
Car_Image_Sourcer=new Array();

og:
Car_Image_Sources.push("ny værdi");
føjer "ny værdi" til array'et.
Avatar billede jokerper Nybegynder
24. august 2008 - 16:20 #11
Kan du svare mig på hvorfor jeg bliver ved med at få denne fejl.

Okay det må være lige ved - jeg får fejlen ved højrekilk på det røde kryds "når billedet ikke vises" mitdomæne.dk/undefined.

Du får ihvertfald lige point for hjælpen.
Avatar billede w13 Novice
24. august 2008 - 16:33 #12
Tak for point.

Men der skal vel ikke være et rødt kryds? Har jeg mulighed for at se et link til siden?
Avatar billede jokerper Nybegynder
24. august 2008 - 16:38 #13
ja, jeg skriver til din mail adresse, ik
Avatar billede w13 Novice
24. august 2008 - 16:48 #14
Ok. w13 (at) ofir (dot) dk
Avatar billede jokerper Nybegynder
24. august 2008 - 17:12 #15
Er sendt
Avatar billede jokerper Nybegynder
24. august 2008 - 18:02 #16
Sådan her ser scriptet ud:

<script type="text/javascript">

/***********************************************
* Carousel Slideshow script- © Ger Versluis 2003
* Permission granted to DynamicDrive.com to feature script
* This notice must stay intact for legal use
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/

/********************************************************
    Create a div with transparent place holder in your html   
    <div id="Carousel" style="position:relative">
        <img src="placeholder.gif" width="404" height="202">
    </div>
    placeholder width:
        4 sided: 1.42 * carousel image width + 3
        6 sided: 2 * carousel image width +4
        8 sided: 2.62 * carousel image width + 5
        12 sided: 3.87 * carousel image width + 7
    placeholder height:
        carousel image height+2

    Insert onload in body tag
        <body onload="Carousel()">   
*********************************************************/

// 7 variables to control behavior
    var Car_Image_Width=140;
    var Car_Image_Height=225;
    var Car_Border=true;        // true or false
    var Car_Border_Color="white";
    var Car_Speed=4;
    var Car_Direction=true;        // true or false
    var Car_NoOfSides=8;        // must be 4, 6, 8 or 12

/* array to specify images and optional links.
    For 4 sided carousel specify at least 2 images
    For 6 sided carousel specify at least 3
    For 8 sided carousel specify at least 4
    For 12 sided carousel specify at least 6
If Link is not needed keep it ""
*/
    Car_Image_Sources=new Array(
        "photo1.jpg","http://www.dynamicdrive.com",
        "photo2.jpg","http://www.javascriptkit.com",
        "photo3.jpg","", //this slide isn't linked
        "photo4.jpg","http://www.codingforums.com" // NOTE No comma after last line
        );

/***************** DO NOT EDIT BELOW **********************************/
    CW_I=new Array(Car_NoOfSides/2+1);C_ClcW=new Array(Car_NoOfSides/2);
    C_Coef=new Array(
        3*Math.PI/2,0,3*Math.PI/2,11*Math.PI/6,Math.PI/6,3*Math.PI/2,7*Math.PI/4,    0,
        Math.PI/4,3*Math.PI/2,5*Math.PI/3,11*Math.PI/6,0,Math.PI/6,Math.PI/3);
    var C_CoefOf=Car_NoOfSides==4?0:Car_NoOfSides==6?2:Car_NoOfSides==8?5:9;
    C_Pre_Img=new Array(Car_Image_Sources.length);
    var C_Angle=Car_Direction?Math.PI/(Car_NoOfSides/2):0,C_CrImg=Car_NoOfSides,C_MaxW,C_TotalW,
    C_Stppd=false,i,C_LeftOffset,C_HalfNo=Car_NoOfSides/2;

    function Carousel(){
        if(document.getElementById){
            for(i=0;i<Car_Image_Sources.length;i+=2){
                C_Pre_Img[i]=new Image();C_Pre_Img[i].src=Car_Image_Sources[i]}
            C_MaxW=Car_Image_Width/Math.sin(Math.PI/Car_NoOfSides)+C_HalfNo+1;
            Car_Div=document.getElementById("Carousel");
            for(i=0;i<C_HalfNo;i++){
                CW_I[i]=document.createElement("img");Car_Div.appendChild(CW_I[i]);   
                CW_I[i].style.position="absolute";
                CW_I[i].style.top=0+"px";
                CW_I[i].style.height=Car_Image_Height+"px";
                if(Car_Border){
                    CW_I[i].style.borderStyle="solid";
                    CW_I[i].style.borderWidth=1+"px";
                    CW_I[i].style.borderColor=Car_Border_Color}
                CW_I[i].src=Car_Image_Sources[2*i];
                CW_I[i].lnk=Car_Image_Sources[2*i+1];
                CW_I[i].onclick=C_LdLnk;
                CW_I[i].onmouseover=C_Stp;
                CW_I[i].onmouseout=C_Rstrt}
            CarImages()}}

    function CarImages(){
        if(!C_Stppd){
            C_TotalW=0;
            for(i=0;i<C_HalfNo;i++){
                C_ClcW[i]=Math.round(Math.cos(Math.abs(C_Coef[C_CoefOf+i]+C_Angle))*Car_Image_Width);
                C_TotalW+=C_ClcW[i]}
            C_LeftOffset=(C_MaxW-C_TotalW)/2;
            for(i=0;i<C_HalfNo;i++){
                CW_I[i].style.left=C_LeftOffset+"px";
                CW_I[i].style.width=C_ClcW[i]+"px";
                C_LeftOffset+=C_ClcW[i]}
            C_Angle+=Car_Speed/720*Math.PI*(Car_Direction?-1:1);
            if((Car_Direction&&C_Angle<=0)||(!Car_Direction&&C_Angle>=Math.PI/C_HalfNo)){
                if(C_CrImg==Car_Image_Sources.length)C_CrImg=0;
                if(Car_Direction){
                    CW_I[C_HalfNo]=CW_I[0];
                    for(i=0;i<C_HalfNo;i++)CW_I[i]=CW_I[i+1];
                    CW_I[C_HalfNo-1].src=Car_Image_Sources[C_CrImg];
                    CW_I[C_HalfNo-1].lnk=Car_Image_Sources[C_CrImg+1]}
                else{    for(i=C_HalfNo;i>0;i--)CW_I[i]=CW_I[i-1];
                    CW_I[0]=CW_I[C_HalfNo];
                    CW_I[0].src=Car_Image_Sources[C_CrImg];
                    CW_I[0].lnk=Car_Image_Sources[C_CrImg+1]}
                C_Angle=Car_Direction?Math.PI/C_HalfNo:0;C_CrImg+=2}}
        setTimeout("CarImages()",50)}

    function C_LdLnk(){if(this.lnk)window.location.href=this.lnk}
    function C_Stp(){this.style.cursor=this.lnk?"pointer":"default";C_Stppd=true;}
    function C_Rstrt(){C_Stppd=false}
</script>

<div id="Carousel" style="position:relative">
  <img src="placeholder.gif" width="371" height="225">
</div>

<p><font face="Arial" size="-2">Free DHTML scripts provided by<br><a href="http://www.dynamicdrive.com">Dynamic Drive</a></font></p>
Avatar billede w13 Novice
24. august 2008 - 18:05 #17
På den side, du har sendt link til, genereres da kun:
Car_Image_Sources=[];
og ikke:
    Car_Image_Sources=new Array(
        "photo1.jpg","http://www.dynamicdrive.com",
        "photo2.jpg","http://www.javascriptkit.com",
        "photo3.jpg","", //this slide isn't linked
        "photo4.jpg","http://www.codingforums.com" // NOTE No comma after last line
        );

Så noget er galt i PHP-koden.
Avatar billede w13 Novice
24. august 2008 - 18:06 #18
Prøv at vise den PHP-kode, jeg hjalp med.
Avatar billede jokerper Nybegynder
24. august 2008 - 18:07 #19
mysql_select_db("jokerper_oenskeliste");
$row=mysql_query("SELECT billede FROM oensker WHERE user = '".$bruger."'");
?>
Car_Image_Sources=[];
<?php
while($row=$billede){
?>
  Car_Image_Sources.push("<?php echo $row['billede']; ?>");
<?php
}
?>
Avatar billede jokerper Nybegynder
24. august 2008 - 18:11 #20
Der er vel også et problem med "NOTE No comma after last line" altså der skal være , forenden af hver billede i array´et.

        "photo2.jpg","http://www.javascriptkit.com",
        "photo3.jpg","", //this slide isn't linked
Avatar billede w13 Novice
24. august 2008 - 18:11 #21
$row=mysql_query skal være $billede=mysql_query
Avatar billede w13 Novice
24. august 2008 - 18:21 #22
Og så skal:
  Car_Image_Sources.push("<?php echo $row['billede']; ?>");
være:
  Car_Image_Sources.push("<?php echo $row['billede']; ?>");
  Car_Image_Sources.push("");
Avatar billede jokerper Nybegynder
24. august 2008 - 18:30 #23
Det dræber min browser fuldstændigt:

mysql_select_db("jokerper_oenskeliste");
$billede=mysql_query("SELECT billede FROM oensker WHERE user = '".$bruger."'");
?>
Car_Image_Sources=[];
<?php
while($row=$billede){
?>
  Car_Image_Sources.push("<?php echo $row['billede']; ?>");
  Car_Image_Sources.push("");
<?php
}
?>
Avatar billede w13 Novice
24. august 2008 - 18:34 #24
while($row=$billede){
skal så være:
while($row=mysql_fetch_array($billede)){
Avatar billede jokerper Nybegynder
24. august 2008 - 18:40 #25
Så lykkedes det !!!

Du er en GURU;
Avatar billede w13 Novice
24. august 2008 - 18:41 #26
;)
Avatar billede jokerper Nybegynder
24. august 2008 - 19:51 #27
Men hvorfor tager det en evighed at loade...

I statuslinien står der "udført", og det ser ikke ud til der sker noget men efter 20 30 sek. så kommer det.

Mærkeligt?
Avatar billede w13 Novice
24. august 2008 - 20:00 #28
Det burde ikke være noget i den kode, vi har arbejdet med her.
Avatar billede jokerper Nybegynder
24. august 2008 - 20:15 #29
w13 må jeg lige spørge dig om du kender til en måde hvor der automatisk kan opdateres til nyt år.

Altså jeg har dette ønskeliste haløj. Så ville jeg gerne på en eller anden måde kunne få det til automatisk at opdatere datoerne, altså efter min fødselsdag 25.8.2008 skulle den selv hente næste år 25.8.2009.

Jeg tænker på noget ala et nyheds script hvor den hele tiden tager de nyeste nyheder.

Kan du ikke lige checke din mail og evt. give et svar der.
Avatar billede w13 Novice
24. august 2008 - 20:25 #30
Jo, det kan man sagtens i PHP, men jeg kan ikke lige huske, præcis hvordan det gøres. Jeg er selv forholdsvis ny i PHP og endnu ikke så stærk i arbejde med datoer. Så du må nok oprette et nyt spørgsmål.
Avatar billede w13 Novice
24. august 2008 - 20:27 #31
Bl.a. derfor kan jeg heller ikke tage imod tilbuddet i mailen - i øvrigt også fordi jeg har enormt travlt med andre projekter foruden et fuldtidsjob og forberedelse på studiestart. =)
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