webForumDet fria alternativet

Kommentarer

10 svar · 709 visningar · startad av @ndreas

@ndreasMedlem sedan maj 200149 inlägg
#1

Hej!
Jag hade förut denna funktion för att låta besökarna lämna sina kommentarer i en textfil där jag skiljde av olika data med ; sen tog jag ur datan med explode kan man göra likadant i mysql, alltså det som lagras är namn;epost;kommentar;tid;namn;epost;kommentar;tid
kan jag sen hämta ur detta och dela ut det i en HTML-kod.
Hoppas ni förstår, va svårt att skriva hur.
I kommentar lagras alltså datan med skiljetecknet ; kan man då ta ur datan och dela upp den ifrån mysql?
Tack!

dectgapMedlem sedan sep. 20021 542 inlägg
#2

Det enklaste hade nog varit om varje person hade haft en egen rad i textfilen. När du läser ifrån textfilen kör du en explode på varje rad, och får då fram att $namn = filen[radnummer][0]. Nu är jag dålig på det här med att läsa och skriva till textfiler, men det ska nog gå ganska lätt för dig med stöd från manualen.

MorpheusMedlem sedan feb. 2003101 inlägg
#3

testa nåt sånt här:

<?php

// ladda filen
$line = file('filen.txt');

// räkna antal rader
$rows = count($line);

// loop
for($i = 0; $i < $rows; $i++)
{
   // skapa en array
   $data = explode(";",$line[$i]);
   
   // sen är det bara att skapa html:en
   $html .= "Namn: " . $data[0] . " | Tid: " . $data[1] . "<br />\n"; // osv
}

echo $html;

?>
@ndreasMedlem sedan maj 200149 inlägg
#4

alltså, jag tror ni missuppfattade mig, jag vill hämta ur mysql på liknande sett som man gör med scriptet som du Morpheus (Örebro rules!) skickade.

MorpheusMedlem sedan feb. 2003101 inlägg
#5

jaha ja... förlåt för att jag mjissuppfattade dig... så du har all info i en kolumn i en tabell, eller hur är det?

psykologMedlem sedan apr. 2000198 inlägg
#6

Det verkar vara att inte utnyttja enkelheten i att arbeta med databas.

Jag skulle hellre gjort en tabell som hette "kommentarer" och innehöll kolumnerna

namn, epost, kommentar, tid, namn, epost, kommentar, tid

och när jag hämtade allt från "kommentarer" med "SELECT * FROM `kommentarer`" och en whilesats så fick jag i varje iteration ut en vektor med all info i.

MorpheusMedlem sedan feb. 2003101 inlägg
#7

så skulle jag också gjort, men jag försöker få reda på hur @ndreas har gjort... =P

psykologMedlem sedan apr. 2000198 inlägg
#8

@ndreas har (om jag inte missuppfattat allt) helt enkelt en textfil med ett nytt inlägg på vid var tredje semikolon rad och de olika delarna i meddelandet separerade med semikolon.

namn1;kommentar1;tid1;namn2;kommentar2;tid2;namn3 osv osv

@ndreas :
kod för att skapa tabell:

CREATE TABLE `kommentar` (
`id` INT NOT NULL AUTO_INCREMENT,
`namn` VARCHAR( 50 ) NOT NULL ,
`epost` VARCHAR( 50 ) NOT NULL ,
`kommentar` VARCHAR( 255 ) NOT NULL ,
PRIMARY KEY ( `id` )
) TYPE = MYISAM COMMENT = 'enkel kommentartabell';

visa.php

<?php 

mysql_connect("host","user","pass");
mysq_select_db("mindatabas");

$qGetComments = "SELECT * FROM kommentar";
$rGetComments = mysql_query($qGetComments);

while ($comment = mysql_fetch_array($rGetComments))
{
   echo $comment['namn'] .' - '. $comment['epost'] .' - '. $comment['kommentar'].'<br>';
}

?>

spara.php

 Du förväntas ha skickat med ett formulär som innehöll fälten "namn", "epost" och "kommentar"

<?php

$qInsert = "
  INSERT INTO kommentar VALUES (NULL, '".$_POST['namn']."', '".$_POST['epost']."', '".$_POST['kommentar']."')
";

mysql_query($qInsert);
?>

När du har fått den koden att fungera så har du lärt dig buggletning, stavelsrättning och hur man INTE kodar mot Databaser, MEN det visar i stort sett vad du skall göra

@ndreasMedlem sedan maj 200149 inlägg
#9

Kan man ta ut de första 5 kommentarerna med denna kod!

Koden verkar sjysst, ska leka med den när jag kommer hem.
Men kan man ta ut de 5 första kommentarerna med den här koden, skulle vara skitbra att ha så.
Tack på förhand!
Du är en underbar psykolog...psykolog!

psykologMedlem sedan apr. 2000198 inlägg
#10

SELECT * FROM kommentar LIMIT 0,5 ORDER BY id DESC

Jag tror det där fungerar, kan vara någon annan ordning på de sista grejerna. Testa dig fram vetja :)

@ndreasMedlem sedan maj 200149 inlägg
#11

Det var faktiskt inte något av detta jag ville ha, jag ville kunna lägga in namn, epost och kommentarer i en och samma row och sedan hänta ur dem, har löst det på mitt egna lilla säregna sett, men vem bryr sig, det funkar ju *jublar*

Genererad på 379 ms · cache AV · v20260730165559-full.f96bc7eb