Permalänk
Medlem

databas med txt fil

hej

ska förklara så gott jag kan. jag har lagt in mina filmer och imdb länk i en txt fil

http://radipshare.webs.com/w/ddsadsadasd.jpg

kan man på något sätt göra en webbsida som läser txtfilen och vissar det på det här visset.

http://radipshare.webs.com/w/fgdsfsdfs.jpg

och om man tar bort txt filen kommer det bara vissas såhär

http://radipshare.webs.com/w/y5y5454543.jpg

Permalänk
Avstängd

Ja, du kan importera text filen och visa den i en normal list item. Använd PHP på normalt sätt. Ska inte vara några svårigheter. Öppna bara filen som vanligt med php och kör en loop där du puttar in listitems till HTML koden.

Permalänk
Medlem

hur gör man sånt

Permalänk
Medlem

Jag har löst saken med hjälp av explode() i PHP tidigare:

$handle = fopen ('textfil.txt','r'); $txtfile = fread ($handle, filesize('textfil.txt')); fclose ($handle); $array = explode(' ',$txtfile); foreach ($array as $item) { $item = explode (' ',$item); if (isset($item[1])) { echo '<b>'; echo $item[2]; echo '</b><a href="'; echo $item[1]; echo '"/><br />'; } }

Du separerar de olika titlarna med en ny rad och separerar titeln och imdb-länken med en tabulator

Permalänk
Medlem

Formattering får du göra själv.
index.php

<?php $handle = fopen("file.txt","r"); while (!feof($handle)) { $buffer = fgets($handle, 4096); $d = explode("\t",$buffer); print $d[0]."\t\t\t"."<a href='".$d[1]."'><img src='imdb_logo.gif'></a><br>\n"; } fclose($handle); ?>

file.txt (observera att det är en TAB mellan namn och url)

Permalänk

Oberoende av antal tabbar och i en tabell som ditt exempel visar.

<?php $file = "databas.txt"; echo "<table class=IMDbTable><tr><th>Titel</th><th>IMDb</th></tr>"; if ( file_exists($file) ) { $handle = fopen($file, "r"); if ( $handle ) { while ( ( $buffer = fgets($handle) ) !== false ) { $title = strtok($buffer, " "); $link = strtok(" "); echo "<tr><td>"; echo $title; echo "</td><td><a href=\""; echo $link; echo "\"><img src=imdb.png></a></td></tr>"; } fclose ($handle); } else echo "<tr><td></td><td></td></tr>"; } else echo "<tr><td></td><td></td></tr>"; echo "</table>"; ?>

Du kan också göra om den så att du endast skriver en länk och sen använder dig av t.ex. cURL för att hämta namnet från länken. Det är lite mer avancerat och det är rekommenderat att använda RegEx, vilket jag är värdelös på, så det kan jag nog inte hjälpa dig med tyvärr.

EDIT:
Jag är inte speciellt bra på CSS, men jag satt en stund och till slut blev det ganska bra.

<!DOCTYPE html> <style type="text/css"> .IMDbTable { *border-collapse: collapse; /* IE7 and lower */ border-spacing: 0; font:14px arial,sans-serif; -moz-border-radius: 10px 10px 10px 10px; -webkit-border-radius: 10px 10px 10px 10px; border-radius: 10px 10px 10px 10px; } .IMDbTable { -moz-box-shadow: 2px 2px 5px #BBBBBB; -webkit-box-shadow: 2px 2px 5px #BBBBBB; box-shadow: 2px 2px 5px #BBBBBB; } .IMDbTable th:first-child { -moz-border-radius: 10px 0 0 0; -webkit-border-radius: 10px 0 0 0; border-radius: 10px 0 0 0; border-top: 1px solid #BBBBBB; border-left: 1px solid #BBBBBB; background-color: #D2BAA7; width: 872px; height: 38px; text-align: left; padding-left: 10px; } .IMDbTable th:last-child { -moz-border-radius: 0 10px 0 0; -webkit-border-radius: 0 10px 0 0; border-radius: 0 10px 0 0; border-top: 1px solid #BBBBBB; border-right: 1px solid #BBBBBB; border-left: 1px solid #EEEEEE; background-color: #D2BAA7; width: 129px; height: 38px; text-align: center; } .IMDbTable td:first-child { background-color: #F6F1EF; border-left: 1px solid #BBBBBB; border-bottom: 1px solid #EEEEEE; height: 50px; text-align: left; padding-left: 10px; } .IMDbTable td:last-child { background-color: #F6F1EF; border-left: 1px solid #EEEEEE; border-right: 1px solid #BBBBBB; border-bottom: 1px solid #EEEEEE; text-align: center; height: 50px; } .IMDbTable tr:last-child td:first-child { -moz-border-radius: 0 0 0 10px; -webkit-border-radius: 0 0 0 10px; border-radius: 0 0 0 10px; border-bottom: 1px solid #BBBBBB; } .IMDbTable tr:last-child td:last-child { -moz-border-radius: 0 0 10px 0; -webkit-border-radius: 0 0 10px 0; border-radius: 0 0 10px 0; border-bottom: 1px solid #BBBBBB; } .IMDbTable img { border: 0px; } </style>

EDIT2:
Här är cURL varianten som hämtar namnet från IMDb, databasen består då endast av länkar.

<?php $file = "databas2.txt"; echo "<table class=IMDbTable><tr><th>Titel</th><th>IMDb</th></tr>"; if ( file_exists($file) ) { $handle = fopen($file, "r"); if ( $handle ) { while ( ( $buffer = fgets($handle) ) !== false ) { $ch = curl_init($buffer); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $page = curl_exec($ch); if ( ! curl_errno($ch) ) curl_close($ch); else return false; $title = explode("<h1 class=\"header\" itemprop=\"name\">", $page); $title = strtok($title[1], "<"); echo "<tr><td>"; echo $title; echo "</td><td><a href=\""; echo $buffer; echo "\"><img src=imdb.png></a></td></tr>"; } fclose ($handle); } else echo "<tr><td></td><td></td></tr>"; } else echo "<tr><td></td><td></td></tr>"; echo "</table>"; ?>

Permalänk
Medlem
Skrivet av iXam:

Formattering får du göra själv.
index.php

<?php $handle = fopen("file.txt","r"); while (!feof($handle)) { $buffer = fgets($handle, 4096); $d = explode("\t",$buffer); print $d[0]."\t\t\t"."<a href='".$d[1]."'><img src='imdb_logo.gif'></a><br>\n"; } fclose($handle); ?>

file.txt (observera att det är en TAB mellan namn och url)

den här är perfekt men jag vet inte hur jag ska få in den på sidan som är gjord

Permalänk
Skrivet av acer78:

den här är perfekt men jag vet inte hur jag ska få in den på sidan som är gjord

Du har 2 alternativ...
1. Lär dig hur du ska få in den.
2. Skriv koden till sidan och förklara vart du vill ha den.

Permalänk
Medlem
Skrivet av StabTheDrama:

Du har 2 alternativ...
2. Skriv koden till sidan och förklara vart du vill ha den.

nej jag får inte till det koden är klar och ser ut såhär

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body onload="document.myform.q.focus()">

<div id="holder">

<table cellspacing="0" cellpadding="0" border="0">

<tr>

<th>Titel</th>
<th>IMDB</th>
</tr>

<tr>

<td>Hugo</td>
<td><a href="/"><img src="th_imdb_logo.gif"</a></td>

</tr>

<tr>

<td>21 Jump Street</td>
<td><a href="/"><img src="th_imdb_logo.gif"</a></td>

</tr>

<tr>

<td>A Guide To Recognizing Your Saints</td>
<td><a href="/"><img src="th_imdb_logo.gif"</a></td>

</tr>

<tr>

<td>A Lot Like Love</td>
<td><a href="/"><img src="th_imdb_logo.gif"</a></td>

</tr>

<tr>

<td>A Scanner Darkly </td>
<td><a href="/"><img src="th_imdb_logo.gif"</a></td>

</tr>

<tr>

<td>A Very Harold And Kumar Christmas</td>
<td><a href="/"><img src="th_imdb_logo.gif"</a></td>

</tr>

</table>

</div>

</body>
</html>

<?php
$handle = fopen("file.txt","r");
while (!feof($handle)) {
$buffer = fgets($handle, 4096);
$d = explode("\t",$buffer);
print $d[0]."\t\t\t"."<a href='".$d[1]."'><img src='imdb_logo.gif'></a><br>\n";
}
fclose($handle);
?>

jag vet att php koden ligger utanför men det är bara för jag inte vet hur jag ska göra

Permalänk
Skrivet av acer78:

nej jag får inte till det koden är klar och ser ut såhär

Kod...

jag vet att php koden ligger utanför men det är bara för jag inte vet hur jag ska göra

Använd koden jag skrev istället. Den petar ut informationen i en tabell, precis som ditt exempel.
Det enda du behöver ändra är "imdb.png" till "th_imdb_logo.gif"

Det du gör är att du raderar allt mellan <div> och </div> och ersätter med koden.

För att använda kodrutorna på Sweclockers skriver du allt inom PHP-taggar. Antingen skriver du [ php ] innan och [ /php ] efter utan mellanrum eller så markerar du koden och klickar på "PHP" knappen längst upp till höger i när du skriver inlägg i avancerat läge.

EDIT: Det bör alltså se ut såhär:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta content="text/html; charset=utf-8" http-equiv="Content-Type"> <link rel="stylesheet" href="style.css" type="text/css" /> </head> <body onload="document.myform.q.focus()"> <div id="holder"> <?php $file = "databas.txt"; echo "<table><tr><th>Titel</th><th>IMDB</th></tr>"; if ( file_exists($file) ) { $handle = fopen($file, "r"); if ( $handle ) { while ( ( $buffer = fgets($handle) ) !== false ) { $title = strtok($buffer, " "); $link = strtok(" "); echo "<tr><td>"; echo $title; echo "</td><td><a href=\""; echo $link; echo "\"><img src=th_imdb_logo.gif></a></td></tr>"; } fclose ($handle); } else echo "<tr><td></td><td></td></tr>"; } else echo "<tr><td></td><td></td></tr>"; echo "</table>"; ?> </div> </body> </html>

Permalänk
Medlem

ny utmaning?
jag vill lägga till flera länkar i koden som på bilden
http://radipshare.webs.com/w/hgjghjg.jpg

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta content="text/html; charset=utf-8" http-equiv="Content-Type"> <title>Titta på film! Pirataffären - The galaxy's biggest movie site</title> <link rel="stylesheet" href="style.css" type="text/css" /> <script type="text/javascript"> var currentMatch; var lastSearch=false; function SearchText(qstr){ if(!qstr){ return; } if(qstr!=lastSearch){ currentMatch=0; } lastSearch=qstr; if (navigator.appName == "Microsoft Internet Explorer"){ var range=document.body.createTextRange(); for(var i=0; range.findText(qstr); i++){ if(i<=currentMatch){ range.select(); range.scrollIntoView(); } range.moveStart("character",1); } if(currentMatch==i){ alert("Inga fler matchningar funna!"); } else { currentMatch++; } } else if(navigator.appName=="Netscape"){ find(qstr); } } </script> </head> <body onload="document.myform.q.focus()"> <div id="top"> <form onSubmit="SearchText(q.value); return false;" method="post" name="myform"> <input type="text" name="q" placeholder="Sök här..." size="20"> <input type="Submit" value="piratsök"> </form> </div> <div id="holder"> <?php $file = "databas.txt"; echo "<table class=IMDbTable><tr><th>Titel</th><th>IMDb</th></tr>"; if ( file_exists($file) ) { $handle = fopen($file, "r"); if ( $handle ) { while ( ( $buffer = fgets($handle) ) !== false ) { $title = explode("\t",$buffer); $link = explode("\t",$buffer); echo "<tr><td>"; echo $title[0]; echo "</td><td><a href=\""; echo $link[1]; echo "\" TARGET='_blank'><img src=imdb_logo.png></a></td></tr>"; } fclose ($handle); } else echo "<tr><td></td><td></td></tr>"; } else echo "<tr><td></td><td></td></tr>"; echo "</table>"; ?> </div> </center> </body> </html>

Permalänk
Medlem
Skrivet av acer78:

ny utmaning?
jag vill lägga till flera länkar i koden som på bilden
[/code]

Så "utmaningen" är att VI ska bygga en piratsida åt dig?

Permalänk
Medlem

nej jag har testat olika sätt man jag får det inte att fungera. skulle inte be om hjälp om jag kunde göra sidan själv.

Permalänk
Medlem
Skrivet av acer78:

nej jag har testat olika sätt man jag får det inte att fungera. skulle inte be om hjälp om jag kunde göra sidan själv.

Okej, jag är mer eller mindre förbannad på dig just nu, förväntar du dig helt seriöst att vi ska sitta och bygga en hemsida åt dig?

Om du inte kan skriva PHP så får du väll ta och lära dig det, och eftersom du inte kan implentera(?) PHP koden så antar jag att du inte kan det, nu tänker jag vara snäll och ge dig en länk till en bra tutorial serie för PHP, där man även lär sig databaser och mySQL.

Mvh FobbanN

Edit: Tog bort lite svordommar.

Visa signatur

Kom ihåg att ALLTID citera mig om du vill ha svar!

|CPU: Intel Core i7 4790K Kyld av: Corsair H80 GPU: ASUS GTX 970 4GB Chassi: Phanteks Enthoo Evolv MOBO: MSI Z97M Gaming Nätagg: XFX 750W Silver SSD: Kingston 120GB SSDNow V300 HDD: Samsung Spinpoint F3 1TB 7200RPM + 1TB|

Permalänk
Medlem
Skrivet av acer78:

nej jag har testat olika sätt man jag får det inte att fungera. skulle inte be om hjälp om jag kunde göra sidan själv.

Inte för att vara spydig eller nått, men endast för att bevisa att man klarar det utan några som helst PHP-kunskaper så har JAG gjort det. (Jag kan ej koda PHP.)

Jag har dock ett problem med designen, inget som har med att få in nya värden att göra dock.
Och jag gjorde även om det till något jag kan ha nytta av, dvs ej filmer.

Visa signatur

Kom ihåg att ALLTID citera mig om du vill ha svar!

|CPU: Intel Core i7 4790K Kyld av: Corsair H80 GPU: ASUS GTX 970 4GB Chassi: Phanteks Enthoo Evolv MOBO: MSI Z97M Gaming Nätagg: XFX 750W Silver SSD: Kingston 120GB SSDNow V300 HDD: Samsung Spinpoint F3 1TB 7200RPM + 1TB|

Permalänk
Medlem

hej allihopa lyckades lösa det som jag fråga efter. det tog en jäkla tid men det va kul.