webForumDet fria alternativet

Spara varje linje som en egen rad i MySQL

PHP

1 svar · 144 visningar · startad av Akerlundh

Medlem sedan maj 20031 682 inlägg
Frågan#1

Hejsan. Jag har ett text fält där jag har gjort så att varje linje sparas som en egen rad i databasen. Sen har jag gjort en funktion där jag kan söka om det finns någon rad med värdet i databasen.

Problemet är att den förstår bara att det sista värdet finns i databasen. Men det funkar även om jag bara fyller i en rad och sparar.

Skriver jag så här i textfältet

Rad 1
Rad 2
Rad 3
Rad 4
Rad 5

och exportera det till en CSV fil så ser det ut så här.
[TABLE="border: 0, cellpadding: 0, cellspacing: 0, width: 65"]
[TR]
[TD="width: 87"]51,"Rad 5"[/TD]
[/TR]
[TR]
[TD]50,"Rad 4[/TD]
[/TR]
[TR]
[TD="class: xl63, width: 87"]
49","Rad 3[/TD]
[/TR]
[TR]
[TD="class: xl63, width: 87"]
48","Rad 2[/TD]
[/TR]
[TR]
[TD="class: xl63, width: 87"]
47","Rad 1[/TD]
[/TR]
[/TABLE]

Som ni ser så sparas sista raden med två "" medans dem andra raderna bara har en " i början. Jag måste få alla rader att sparas inom "".

Så här ser koden ut som sparar den i databasen

// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}

if(isset($_POST["newkwd"]))
{
  $line_data = explode("\n", $_POST["newkwd"]);
  foreach($line_data as $key => $value)
{
    $data = utf8_decode($value);
  $sql = "INSERT INTO keyword (kwd) VALUE('{$data}')";
 mysqli_query($conn, $sql);
}
}

header("Location: index.php");

mysqli_close($conn);
?>
Medlem sedan maj 20031 682 inlägg
#2

Hittade en lösning

$line_data = explode("\r\n", $_POST["newkwd"]);
244 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
115 ms — deklarationer (db)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)
117 ms — ändringar (db)