Just nu i M3-nätverket
Gå till innehåll

Hämta data från länk (MySQL TABELL)


MilleMiglia

Rekommendera Poster

Hej!

 

Har stött på ett problem i min kodning, först och främst, jag är nybörjare på detta.

 

Jag undrar om det går att hämta data ur min mysql bas

som enbart syns när man trycker på en viss länk och som exponeras i en css box...

 

för att visa mera specifikt

 

http://www.suicideshop.se/rev.php

 

När man klickar på Det röda fältet under Rev. Date vill jag att det ska synas i en css box (scrollbox) där recensionen kommer nu

 

Nu bygger principen på iFrame fönster, jag vill och har kommit fram till att det kommer ta en grym tid att göra varje recension för hand (ny html sida) och det lär garanterat bli enklare att hämta informationen ur en mysql tabell, som finns och heter "review"

 

Jag hoppas jag förklarat enkelt hur jag menar

 

Har ni annars någon enklare metod är allt galet välkommet, hoppas någon hjälpsam själ har lust att hjälpa mig, det skulle vara guld.

 

Tack så länge

 

[inlägget ändrat 2010-01-05 21:30:29 av MilleMiglia]

 

Tråden flyttad från MySQL av moderator

 

[inlägget ändrat 2010-01-06 01:58:21 av Cluster]

Länk till kommentar
Dela på andra webbplatser

Mr Andersson

Förstår inte riktigt. Har du problem med php-koden för att hämta data eller hur html-koden ska se ut för att visa hämtad data i en DIV?

 

 

 

Länk till kommentar
Dela på andra webbplatser

Hej!

 

Tack för ditt snabba svar

 

Jag har problem med php-koden för att hämta data ur min mysql tabell "reviews" &vet inte alls hur html-koden ska se ut för att visa hämtad data i en DIV?

 

Koden som man hämtar datan ur tabellen ska läggas i css boxen då tillsammans med anna kod med då för att den ska visa eller hur ska man gå till väga?

 

Jag kanske med borde ändra

 

<a target='MyIframe' href='$noticia'>$noticia[datum]</a></td>";

 

echo "</tr>";

 

 

Där vill jag ju ha target "scrollbox"

 

HUM säger jag bara....

 

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

       <head>
                <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
                <title>Suicideshop.se - Records that saved our lives and other stuff I like</title>
                <META NAME="description" 
                CONTENT="Suicideshop.se - Records that saved our lives and other stuff I like"> 
                <META NAME="keywords" 
     CONTENT="vinyls, records , music, smiths, the smiths, morrissey, brit pop, vinyl, record collection, record collections"> 
                <link href="main.css" rel="stylesheet" type="text/css" />
<link rel="shortcut icon" href="pic/favicon.ico" >
       </head>

<body>
    <div id="wrap">

<div id="top">
<p class="toplinks"> </p>
</div>

<div id="main_rev">


<div id="iFrame">
   							<iframe name="MyIframe" id="MyIframe" scrolling="auto" height="407" width="396" frameborder="0" ></iframe>
   	</div>
<div id="box_rev">
   							<p>
   							<h1>Sound Check</h1>

                         <p>Grab a cup of java or a bloody tea, my reviews is better than watching BBC, so get yourself comfort and enjoy the ride...</p>
   	</div>


    <div id="inner_main_rev"> 



       <?$start = $_GET["start"];

require "config.php";           // All database details will be included here 



$page_name="rev.php"; //  If you use this code with a different page ( or file ) name then change this 



if(!isset($start)) {                         // This variable is set to zero for the first page

$start = 0;

}



$eu = ($start - 0); 

$limit = 5;                                 // No of records to be shown per page.

$this1 = $eu + $limit; 

$back = $eu - $limit; 

$next = $eu + $limit; 





/////////////// WE have to find out the number of records in our table. We will use this to break the pages///////

$query2=" SELECT * FROM review_";

$result2=mysql_query($query2);

echo mysql_error();

$nume=mysql_num_rows($result2);

/////// The variable nume above will store the total number of records in the table////



/////////// Now let us print the table headers ////////////////

$bgcolor="#f1f1f1";

echo "<TABLE width='400px'<tr>";

echo "<td  bgcolor='ffffff' > <h2>Artist</h2></td>";

echo "<td  bgcolor='ffffff' > <h2>Album</h2></td>";

echo "<td  bgcolor='ffffff' > <h2>Rev. Date</h2></td>";




////////////// Now let us start executing the query with variables $eu and $limit  set at the top of the page///////////

$query=" SELECT * FROM review_ order by datum DESC  limit $eu, $limit ";

$result=mysql_query($query);

echo mysql_error();



//////////////// Now we will display the returned records in side the rows of the table/////////

while($noticia = mysql_fetch_array($result))

{

if($bgcolor=='#ffffff'){$bgcolor='#ffffff';}

else{$bgcolor='#ffffff';}



echo "<tr>";

echo "<td align=left bgcolor=$bgcolor id='title'> <p>$noticia[artist]</p></td>"; 

echo "<td align=left bgcolor=$bgcolor id='title'> <p>$noticia[album]</p></td>"; 

echo "<td align=left bgcolor=$bgcolor id='title'>

<a target='MyIframe' href='$noticia[url]'>$noticia[datum]</a></td>"; 

echo "</tr>";

}

echo "</table>";

////////////////////////////// End of displaying the table with records ////////////////////////



/////////////// Start the buttom links with Prev and next link with page numbers  CENTRERA NUMMER TABLE ALIGN = FRÅN VÄNSTER/////////////////

echo "<table width='400px'><tr><td  align='left' width='700px'>";

//// if our variable $back is equal to 0 or more then only we will display the link to move back ////////

if($back >=0) { 

print "<a href='$page_name?start=$back'>

<p>

	Prev

</p>

</a>"; 

} 

//////////////// Let us display the page links at  center. We will not display the current page as a link ///////////

echo "</td><td align='left' width='200px'>";

$i=0;

$l=1;

for($i=0;$i < $nume;$i=$i+$limit){

if($i <> $eu){

echo " <a href='$page_name?start=$i'><font face='Trebuchet MS' size='2'><i>$l</i></font></a> ";

}

else { echo "<font face='Trebuchet MS' size='2' color=black><b>$l</b></font>";}        /// Current page is not displayed as link and given font color red

$l=$l+1;

}





echo "</td><td  align='center' width='500px'>";

///////////// If we are not in the last page then Next link will be displayed. Here we check that /////

if($this1 < $nume) { 

print "<a href='$page_name?start=$next'><p>Next</p></a>";} 

echo "</td></tr></table>";?>


       </div>


    </div>

<div id="boxwrap">
<div id="box1">
   	<div id="box_inner">
   						  <h5><a href="http://www.suicideshop.se/index.htm">Home</a></h5>
                               <p2><a href="http://www.suicideshop.se/info.htm">Information</a></p2><br />
                               <p2><a href="http://www.suicideshop.se/rev.php">Record Reviews</a></p2><br />
                               <p2><a href="http://www.suicideshop.se/collection.php">Record Colletion</a></p2><br />
                               <p2><a href="http://www.suicideshop.se/contact.php">Contact</a></p2><br />

   	</div>
</div>
   <div id="box1">
   <div id="box_inner">
   							<p></p>
   	</div
></div>
   <div id="box1">
   <div id="box_inner">
   							<p></p>
   	</div
></div>
   <div id="box1"><div id="box_inner">
   							<h5>Links</h5>
                               <p2><a href="http://www.allmusic.com/" TARGET="_blank">Allmusic Guide</a></p2><br />
                               <p2><a href="http://www.countylads.com/" TARGET="_blank">Oneupmanship</a></p2><br />
                               <p2><a href="http://www.kicksonfire.com/" TARGET="_blank">Kicks On Fire</a></p2><br />
                               <p2><a href="http://www.found-nyc.com/blog/" TARGET="_blank">Found NYC</a></p2><br />

   							<p> </p>
   </div>
   </div>

   </div>




<div id="footer">
                         <p class="foot">
                           <fot>copyright © 2007-2010 suicideshop.se</fot></a></p>
</div>

</div>
</body>
</html>

 

[inlägget ändrat 2010-01-05 21:53:59 av MilleMiglia]

Länk till kommentar
Dela på andra webbplatser

Mr Andersson

Jag är ingen höjdare på php, men det kvittar just nu. Tekniken du ska använda kallas AJAX, den gör att du kan anropa serverscript och hämta data och peta in den i den befintliga websidan, utan att hämta om hela websidan.

 

Det finns många frågor och svar här redan om ajax och php, så sök gärna. Nu vet du vad du ska leta efter, det blir förhoppningsvis mycket lättare då!

 

 

 

Länk till kommentar
Dela på andra webbplatser

Jag tittade snabbt på din sida och det första jag vill påpeka är användarvänligheten.

Jag själv förstod inte att jag skule klicka på datumet för att få fram recensionen, men det är kanske sådant som kommer?!

 

Istället för din iframe lägg en div med idt "review_content", exempelvis

<div id="review_content"></div>

 

Till en början är innehållet tomt, men förslagsvis kan du ha en förklaring vad användaren skall göra (om de är lika trögtänkta som jag) för att visa recensionen.

 

Tänk på att om javascript är avstängt eller om scriptet inte fungerar av någon anledning så skall man kunna hämta recensionen ändå.

Det gör du genom att länka till samma sida (rev.php?review=[id] ) som listar artister/album med en querystring som avser albumets id. Vid sidladdning så skall sidan (rev.php) fylla i informationen i #review_content med php

<div id="review_content"><?
if(isset($_GET["review"]))
{
//gör gärna en funktion som hanterar utskriften av recensionsinnehållet så att det blir samma på ajax-delen som på rev.php 
include("functions.php");

//hämta data från databasen
getreview_content($_GET["review"]);
}
?></div>

 

 

Själva ajaxfunktionen rekommenderar jag att du använder jQuery för. jquery.com

 

lägg en css-klass på länkarna för att kunna binda ajaxfunktionen till.

$().ready(function(){
 $("a.getreview").click(function(){
   var url = $(this).attr("href").split("=")[1];
   $("#review_content").load("getreview.php?review="+url);
   return false;
 });
});

 

sedan får du göra funktionen som hämtar och skriver ut innehållet samt en "mellansidan" (getreview.php) som i stort sett gör samma sak som php-koden i review_content.

 

lycka till!

 

Länk till kommentar
Dela på andra webbplatser

med fördel sparar du recensionerna i databastabell istället för inviduella filer. Har du möjlighet att ändra detta eller är det mycket jobb?

 

target-parametern och dess värde skall bort helt och den skall istället vara <a href=\"rev.php?review=$noticia[id]\">$noticia[datum]</a>";

 

getreview.php ska den kollplas mot config.php ?

"kollplas" vet jag inte vad du syftar på, men getreview.php skall returnera recensionen i html-format, så innehållet skall hämtas och eventuellt justeras något, vilket ska göras i en funktion man får skriva.

 

Med fördel skriver du denna funktion i config.php om den redan har databaskopplingar, detta underlättar en del.

 

Funktionens uppbyggnad:

function getreview_content($r_id)
{
//1 kolla så att medföljande variabel är ok, om inte avsluta funktionen, ev returnera ett felmeddelande

//2 hämta informationen från databasen, tänk på att skydda mot sql-injektioner
//returnera innehållet i önskad html-formatering.

//3 om innehållet inte hittats returnera felmeddelande
}

 

Mer information om funktioner i php: http://www.w3schools.com/PHP/php_functions.asp

 

Jag hade kunnat hjälpa dig med en fullständig lösning men det lär du dig inget på. Det du inte kan själv finnas att hitta här i eforum och hos Google. ;)

 

Länk till kommentar
Dela på andra webbplatser

Tja

 

Ledsen att jag var otydlig.

 

getreview.php ska den kopplas mot config.php ?

ska det vara, jag ska kolla lite på det nu tänkte jag.

 

 

Tusen tack så här pass länge

:thumbsup::thumbsup::thumbsup::thumbsup:

 

Länk till kommentar
Dela på andra webbplatser

Det vet du bättre själv om du behöver config.php i den filen eller inte.

 

Om den innehåller databaskopplingar och viktiga funktioner, så ja.

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...