Gå til innhold

Hente fil, Sortere i en tabell, Hvordan?[LØST]


Anbefalte innlegg

Litt nyttig data:

Os: Windows

Apache 2.0.50 server

PHP 4.3.8

 

 

Hei, jeg prøver å hente data fra EN tekstfil, deretter sortere dataen i en tabel.

(har ikke fått MySQL til å virke, ERROR:"Host not allowed to connect... ")

Jeg har komt opp med en enkel ide, men får det ikke helt til...

 

Ide:

Skrive rett og slett variabler i filen.

Oppdatere disse variablene, når filen hentes inn.

Plassere disse variablene i tabellen

 

Her er koden for å hente data fra en fil (fikk tak i den her på forumet et sted, i denne kategorien)

 

<?php

$dbfile = "001.txt";

foreach(file($dbfile) as $line){

$line = rtrim($line);

list($word,$explanation) = explode(":",$line);

echo " $word  </b> $explanation<br/>\n ";

}

?>

 

Her er innholdet i filen (.txt)

 

$produsent=MSI; 

  $kategori=Hovedkort; 

  $pris="350";

  $modell=648f Neo;

  $spes=<li>Pc 3200/400 ram </li>

              <li>Opp til 3.0 Ghz </li>

              <li>Usb2.0 </li>

              <li>Lan </li>

              <li>Lyd</li>

            </ul>

 

Her er koden for å sorere dette i en tabell

 

<?php

echo " <table width="100%"  border="1" cellpadding="0" cellspacing="0" bordercolor="#000000">

  <tr bgcolor="#999999">

    <td width="15%"><div align="center"><strong>Produsent</strong></div></td>

    <td width="31%"><div align="center"><strong>Kategori</strong></div></td>

    <td width="14%"><div align="center"><strong>Pris</strong></div></td>

    <td width="40%"><div align="center"><strong>Model Type</strong></div></td>

  </tr>

  <tr bgcolor="#CCCCCC">

    <td><div align="center">$produsent</div></td>

    <td><p align="center"> $kategori</p></td>

    <td><p align="center">$pris</p></td>

    <td><div align="center">$modell</div></td>

  </tr>

  <tr bgcolor="#CCCCCC">

    <td colspan="4"><table width="100%"  border="1" cellpadding="0" cellspacing="0">

        <tr>

          <td width="46%" height="122"><ul>

              <p><font size="1"><a href="Vis/Skjul spes, Som PHP script, aner ikke hvordan.">Skjul/Vis

                spesifikasjoner</a></font></p>

              $spes

            <p align="center"></p></td>

          <td width="54%"><img src="" width="329" height="172" alt="Bilde"></td>

        </tr>

      </table></td>

  </tr>

 

</table>

<p></p>

</table>;

?>

 

Desverre så virker ikke dette.

 

Hva har jeg gjort feil, og hvordan kan jeg rette dette opp?

(Tok utgangspunkt i et hovedkort, fra MSI)

 

Beklager for lang tråd...

Håper på Svar

På Forhånd Takk

 

Ps: følger med fil som viser det tenkte oppsettet.

Endret av robgar
Lenke til kommentar
Videoannonse
Annonse

2 ting:

 

- Du mangler en <ul> i $specs variabelen (?)

- Du kan ikke ha echo "dette er en $var" Resultatet av det er "Dette er en $var" Du må gjøre noe sånn:

echo '
<table width="100%"  border="1" cellpadding="0" cellspacing="0" bordercolor="#000000">
 <tr bgcolor="#999999"> 
   <td width="15%"><div align="center"><strong>Produsent</strong></div></td>
   <td width="31%"><div align="center"><strong>Kategori</strong></div></td>
   <td width="14%"><div align="center"><strong>Pris</strong></div></td>
   <td width="40%"><div align="center"><strong>Model Type</strong></div></td>
 </tr>
 <tr bgcolor="#CCCCCC"> 
   <td><div align="center">'.$produsent.'</div></td>
   <td><p align="center">'.$kategori.'</p></td>
   <td><p align="center">'.$pris.'</p></td>
   <td><div align="center">'.$modell.'</div></td>
 </tr>
 <tr bgcolor="#CCCCCC"> 
   <td colspan="4"><table width="100%"  border="1" cellpadding="0" cellspacing="0">
       <tr> 
         <td width="46%" height="122"><ul>
             <p><font size="1"><a href="Vis/Skjul spes, Som PHP script, aner ikke hvordan.">Skjul/Vis 
               spesifikasjoner</a></font></p>
             '.$spes.'
           <p align="center"></p></td>
         <td width="54%"><img src="" width="329" height="172" alt="Bilde"></td>
       </tr>
     </table></td>
 </tr>

</table>
<p></p>
</table>';

 

Så også nå at du mangler en " på slutten. Scriptet ditt ville alldri ha virket uansett, siden du bruker echo " ". Og hver gang du har feks href="noe" så ville den gått ut fra html-mode til php-mode om du skjønner.. :roll:

 

For å vise ting slik du vil ha dem tror jeg du må bruke usort? om det er spørsmålet iallefall. Dette kan gjøres ved at du lager 1 eller 2 linker med en $_GET var i. eks:

 

echo '<a href="?visSpecs=ja">Vis specs</a> <a href="?visSpecs=nei">Skjul specs</a>';

 

Så lager du et script ut i fra usort som gjør dette ;)

Lenke til kommentar

Er ferdig nå:

 

Leste litt på forumet, og fant et script der man delte opp en fil i array, delene ble separert med tegnet ;

Så jeg lagde det samme.

 

 

<?php 

$antall_navn = 0; 
if ($fh = fopen('001.txt','r')){ 
while (! feof($fh)) { 

if (fgets($fh,1048576)) { 
 $antall_navn++; }}} 

 if ($antall_navn=1) print "<p>Du har $antall_navn vare i handlekurven.</p>"; 
  else print "<p>Du har $antall_navn varer i handlekurven.</p>"; 

echo '<table width="100%"  border="1" cellpadding="0" cellspacing="0" bordercolor="#000000">'; 
echo '<tr bgcolor="#999999"> 
  <td width="15%"><div align="center"><strong>Produsent</strong></div></td>
  <td width="31%"><div align="center"><strong>Kategori</strong></div></td>
  <td width="14%"><div align="center"><strong>Pris</strong></div></td>
  <td width="40%"><div align="center"><strong>Model Type </strong></div>
  <div align="right"><font size="2" face="Verdana"> <a href="?vs=ja">Vis</a>/<a href="?vs=nei">Skjul</a> Info
   
   </font>
   </div>
  </td>
</tr>'; 

$array = file("001.txt"); 
$sorter = sort($array); 

foreach ($array as $linje) 
{ 
$info=split(";",$linje); 

$vs = $_GET['vs'];

if ($vs == "ja") {$bilde = $info[5]; $stats = $info[4]; }
else {$stats=""; $bilde="0";}

echo '<tr bgcolor="#CCCCCC"> 
  <td><div align="center">'.$info[0].'</div></td>
  <td><p align="center">'.$info[1].'</p></td>
  <td><p align="center">'.$info[2].'</p></td>
  <td><div align="center">'.$info[3].'</div></td>
</tr>
<tr bgcolor="#CCCCCC"> 
  <td colspan="4"><table width="100%"  border="1" cellpadding="0" cellspacing="0">
      <tr> 
        <td width="46%" height="22"><ul>
            
            '.$stats.'
          <div align="center"></div></td>
        <td width="54%">';
  
  if ($bilde == $info[5])
  {
   echo('<img src="'.$bilde.'" alt="'.$bilde.'"></td> </tr></table>');
  }
  else {echo('</td> </tr></table>');}
  
 } 


?></table>

 

Og i 001.txt står det følgende:

 

MSI;  Hovedkort;  350, NOK;  648f Neo; <p>  <ul><li>Pc 3200/400 ram </li><li>Opp til 3.0 Ghz</li><li>Usb2.0 </li><li>Lan 

</li><li>Lyd</li> <li><a href="http://www.msicomputer.com/product/p_spec.asp?model=648F_Neo-L">More info</a></li></ul>;   

001.jpg;

Alt i en linje.

 

 

Takk for hjelpen $_GET funksjonen (?vs=ja/nei)

og alt det andre! :p

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...