webForumDet fria alternativet

Problem med PHP/Javascript

16 svar · 608 visningar · startad av Rickard

RickardMedlem sedan maj 2001287 inlägg
#1

Tjenare.

Jag har ett mindre problem med ett PHP script som skall lista bilder, krympa dom till thumpnails och när man klickar på bilderna så skall dom poppa upp med ett javascript i samma storlek som bildens orginal storlek är.

Problemet jag har är att PHP'n inte vill ta definitionerna rätt i javascript koden (tror att det kan ha med javascriptet att göra).

Eftersom koden är rätt lång, så har jag lagt upp en phps fil på
http://www.trehjuling.com/test_/imagewiev.phps

Problemet ligger någonstans längre ner i samband med raden:

bild:<br><a href='javascript:openPopWin("<?=$rad["fil"], width="$largura", height="$altura"?>")'>

Eftersom detta även rellaterat med javascript så lägger jag en tråd med en länk till detta inlägg i javascriptforumet.

Hoppas jag kan få lite hjälp, jag har suttit med skiten i snart ett dygn utan att få bukt med problemet..
Det är väll troligen det vanliga felet, ett litet tecken fel någonstans som jag inte har hittat (jag har dock provat alla möjliga metoder)

Tack på förhand.
/Rickard

VikingMedlem sedan maj 20003 652 inlägg
#2
bild:<br><a href='java script:openPopWin("<?=$rad['fil']?>, width="<?=$largura?>", height="<?=$altura?>")'>

Borde det inte fungera bättre nu? Kanske har missuppfattat dig dock :o

Fredde MannenMedlem sedan nov. 20014 054 inlägg
#3

Så här kan det se ut osså!!!


javascript:openPopWin("<? echo $rad["fil"]." width=\"".$largura."\", height=\"".$altura."\"; ?>")'>

:e

RickardMedlem sedan maj 2001287 inlägg
#4

tack för svaren...
men tyvär så funkade inte något av alternativen.. =(

Viking:
Ditt inlägg var det som var närmast lösningen.

Men scriptet vill då öppna länken:
http://192.168.100.12:8080/~noratx/testupload/java script:openPopWin("kabelserver.jpg, width="658", height="508")

Och den kan vi nog alla enas om inte finns.. =)

Fredde mannen:
Din lösning gav fel i all understående PHP kod.
PhpEdit rödmarkerade all PHP kod efter din rad.. =(

Har ni några andra ideer?
Jag provade även att sammansätta "javascript:open" istället för "Java svript:open"
Det blev aningens bättre.

I viknings fall fick jag då ett annat fel:

Line: 1
Char: 37
Error: Expected ")"
code: 0
URL: [url]http://192.168.100.12:8080/~noratx/testupload/listimg.php[/url]
MatteMedlem sedan aug. 20002 975 inlägg
#5

Problemet ligger som sagt på javascriptsidan, och hur javascript-koden ska se ut. Är själv en sopa på javascript, men tog iallafall fram funktionshuvudet. Det ser ut så här:

function openPopWin(winURL, winWidth, winHeight, winFeatures, winLeft, winTop){

När jag tittade i koden fick jag det till att winWidth och winHeight bara skulle ha en siffra. winLeft och winTop kunde vara både siffra och sträng.
winFeatures blev jag inte riktigt klok på.
Körningen i HTML borde, så långt mina javascriptkunskaper räcker, se ut något på det här hållet:

openPopWin("url", 200, 200, "", "cen", "cen"){

Har man bara rätt så långt (vilket är tveksamt med mina javascriptkunskaper) så borde koden bli om man skickar in php-variabler:

bild:<br><a href='javascript:openPopWin("<?=$rad["fil"] ?>", <?=$largura ?>, <?=$altura ?>, "", "cen", "cen")'>

Ta en koll på att javascriptkoden blir det den ska. Har man bara det klart för sig så är det inga problem att plocka in php-variablerna rätt.

RickardMedlem sedan maj 2001287 inlägg
#6

So far so good...

Fick hjälp under natten via IRC och för att få det att funka som jag ville skulle det se ut så här:

<a href="#" onclick="javascript:window.open('<?echo($rad["fil"])?>','popup',' width=<?echo($largura)?>,height=<?echo($altura)?>')">
  <img src="<?=$rad["fil"]?>" width="<?=$tmb_wdt?>" height="<?=$tmb_hgt?>">
  </a>

Nu till nästa lilla problem, så är mer HTML rellaterat. =)
Som det ser ut just nu, så får jag upp e bild/row.
Men jag vill ha upp 4 bilder/row.

Jag har försökt med att lägga ovanstående sträng 4 ggr efter varandra, men resultatet blir då att den lägger upp SAMMA bild 4 ggr efter varandra, börjar på en ny row, och lägger nästa bild 4 ggr efter varandra.

Jag försökte sen med att göra om rowen till att ha 4 columner och lägga kodsnutten i varje column.
Resultatet: Precis som tidigare, fyra lika bilder efter varandra/row.

Jag har försökt med de flesta olika saker.
Har suttit sen 01.00 med samma problem och övervägt om jag skulle koppla upp å kanske få hjälp med problemet, gå och lägga mig eller använda scriptet som det är och köra 2 rows med en bild i varje.

Ni ser nog vilket val jag kom fram till =)
Jag vill ju ogärna ha 1 bild/row, det är lite väl dåligt utnyttjande av plats.
Det finns ju liksom plats för 4 thumbnails/row med den designen jag har nu.

Är det någon av er vänliga själar som har lust att åter igen ta en titt i koden (som nu är uppdaterad med den nya "koden") och försöka lösa problemet medan jag slår två flugor i en smäll och låter er hjälpa mig samtidigt som jag går å lägger mig. =)
http://www.trehjuling.com/test_/imagewiev.phps

Vore superbussigt i så fall..
Gäspiga hälsningar på er alla! =)
/Rickard

MatteMedlem sedan aug. 20002 975 inlägg
#7

Något på det här hållet: http://www.phpportalen.net/viewtopic.php?t=2207

RickardMedlem sedan maj 2001287 inlägg
#8

ser nog bra ut.. vadvet jag? =)

Jag är ju inte så där super bright när det gäller PHP faktiskt..
och när det ligger echo med i bilden så brukar jag bli som ett enda stort frågetecken vilket jag gör just nu. =)

Har du Matte, eller någon anna lust/möjlighet å göra om den delen så det passar in i mitt script (gärna utan echo) åså tala om vika rader i mitt script jag skall ersätta. :OO

*bläh* varför ska jag jämt bli som ett enda stort frågetecken så fort jag ser en echo sträng? x(

/Rickard

Fredde MannenMedlem sedan nov. 20014 054 inlägg
#9

<?
echo $rad["fil"]." width=\"".$largura."\",height=\"".$altura."\";
?>

Va? :q

Menar du att den felmarkerade:
echo $rad["fil"]." width=\"".$largura."\",height=\"".$altura."\";

echo $rad["fil"]." width=' ".$largura." ', height=' ".$altura." '";

Då men, nog borde väl... den första funka!!
:q

Lord ZMedlem sedan sep. 20023 inlägg
#10

Jag är väl ingen expert, men... det ska väl ändå stå javascript och inte java script... alltså utan mellanslaget... Det förklarar varför den vill öppna länken http://192.168.100.12:8080/\~noratx/testupload/java script:openPopWin("kabelserver.jpg, width="658", height="508"), den behandlar nämligen det som en adress och inte som ett javascript-kommando...

RickardMedlem sedan maj 2001287 inlägg
#11

Lord Z:
I know i know... det förstod jag ockdå.. =)
Det problemet är ju dock löst sen en tid tillbaka... =)

Nu är det ju nästa problem.
Att få fyra olika bilder på en och samma row.

Matte gav en läng som beskriver det..
problemet är bara att jag blir som ett enda stort frågetecken när det handlar om echo.. eftersom jag måste göra en hel del ändringar i koden för att få det att funka.

Så, den hjälp jag behöver nu, är att någon har en kod utan echo's.. eller att någon skrivet ihop korrekt åt mig med mattes läng.. annars kommer jag fortfarande sitta fast här.. =(

Jag är som tidigare nämnt, fortfarande rellativt grön i PHP.. =(

Lord ZMedlem sedan sep. 20023 inlägg
#12

ah... felet var kvar i koden som du skrev hade löst problemet, dock ;)

hur som helst, en poäng med koden som Matte skickade länk till är att du måste hämta en ny rad från ditt resultset mellan varje gång som du skriver ut en bild.
alltså, något i stil med följande variant av koden från länken(vet inte vad du har för variabelnamn i övrigt iofs...):

<?php
echo "<table>\n<tr>\n";
$i = 0;
while($rad= mysql_fetch_array($result))
{
if ($i==4)
{
echo "</tr>\n<tr>\n";
$i = 0;
}
?>
<a href="#" onclick="javascript:window.open('<?=($rad["fil"])?>','popup',' width=<?=$largura?>,height=<?=$altura?>')">
<img src="<?=$rad["fil"]?>" width="<?=$tmb_wdt?>" height="<?=$tmb_hgt?>">
</a>
<?
$i++
}
if ($i>0) while ($i<4){
echo "<td> </td>\n";
$i++;
}
echo "</tr></table>";
?>

inte testat, men... borde fungera more or less... som sagt, något variabelnamn ($result) kan behöva ändras...

RickardMedlem sedan maj 2001287 inlägg
#13

Nu har jag fått det att funka NÄSTAN som jag vill...
bara ett litet fel kvar återstår...

bilderna VÄGRAR att lägga sig där jag VILL att dom ska lägga sig.. =(

Här kan ni se hur bilderna lägger sig.
http://www.trehjuling.com/beta/listimg.php

Det jag vill uppnå är att de två översta raderna med bilder lägger sig i tabellen (där den ensamna bilden ligger).
Och den ensamma bilden skall hoppa över till nästa sida (altså, 6 bilder på sida 1, när jag klickar på "nästa" så skall den ensamna bildern och eventuella andra bilder lägga sig på sida 2).

Jag kan bara inte hitta felet.
För den kompletta koden, titta på:
http://www.trehjuling.com/beta/listimages.phps

Hoppas på en lösning redan i kväll.. =)
Har en deadline till i morrn klockan 12.00 (kan visserligen överskrida den lite, men jag hatar att bli senare än utlovat).

Hoppas ni har tid/lust och hjälpa mig.. =)

/Rickard

WebslaveMedlem sedan maj 2002647 inlägg
#14

Ok... jag vet inte hur detta hjälper dig men du verkar ju ha kolla på själva bildhanteringe och bara behöver hjälp med visningen av antalet bilder/sida... om jag har fel så kan du strunta i det jag skriver ;):

<?
if(!($_GET['start'])){
  $start = 0;
  $num = 6;
}
else{
  $start = $_GET['start'];
  $num = $_GET['num'];
}  

$sql = "SELECT * FROM subcat LIMIT $start,$num";
$result = mysql_db_query("$database","$sql");
while($row = mysql_fetch_array($result)){
?>
<a href="#" onclick="java script:window.open('<?=($rad["fil"])?>','popup',' width=<?=$largura?>,height=<?=$altura?>')"> 
<img src="<?=$rad["fil"]?>" width="<?=$tmb_wdt?>" height="<?=$tmb_hgt?>"> 
</a>
<?PHP
}

if(!($_GET['start'])){
  $start = 6;
}
else{
  $start = ($start+6);
}

$sql = "SELECT * FROM subcat";
$result = mysql_db_query("$database","$sql");
$numberofrows = mysql_num_rows($result);

if($start<$numberofrows){
  echo "<a href=\"count.php?start=".$start."&num=6\">Nästa</a>";
}  
?>

Den ska visa 6 bilder/sida och så länge som $start är mindre än antalet rader ($numerofrows) så visas "Nästa" länken. Hoppas att det hjälper dig. Du får lägga till alla <td><tr> taggar och sånt själv för det är jag för lat för :D

RickardMedlem sedan maj 2001287 inlägg
#15

webslave:
Tack så mycket.

Din kod och en annan polares hjälp löste alltihopa.
Tack! =)

Alla andra: Tack även ni! =)

Alla länkar nerplockade.

Ska lämna in arbetet i morgon och troligtvis på fredag kommer allt upp på https://www.trehjuling.com

/Rickard

WebslaveMedlem sedan maj 2002647 inlägg
#16

Hoho... kul att det löste sig ;)

preyMedlem sedan jan. 2002341 inlägg
#17

ett litet påpekande:
Är det inte så att webforum automatisk ändrar "javascript" till "java script"?..

143 ms totalt · 3 externa anrop · v20260731065814-full.37765c92
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
139 ms — hämta tråd, inlägg och bilagor (db)