Avatar billede frexxit Juniormester
16. maj 2014 - 22:11 Der er 7 kommentarer og
1 løsning

textarea INSERT for hver linje og "tab"

Hej.

Jeg har et text felt hvor jeg indsætter fx:
ordre_id    navn efternavn     adresse    bynavn    1234    dennis@min_mail.com     TELEFON    Indløst 2014-05-12 18:14:32             2014-04-25 10:41:11     FXSS-368
ordre_id    navn efternavn     adresse    bynavn    1234    dennis@min_mail.com     TELEFON    Indløst 2014-05-12 18:14:32             2014-04-25 10:41:11     FXSS-368

jeg vil gerne at for hver linje (\r\n) insætter den det i min MySql database, men samtidig indsætter den også indholdet for hvert TAB (    ) i hver sin celle.

en simpel måde på dette?

håber det giver mening.
Avatar billede rix Praktikant
16. maj 2014 - 22:16 #1
Brug explode ("\r\n", $variabel); så returnere den en array som du bare skal løbe igennem og indsætte
Avatar billede frexxit Juniormester
16. maj 2014 - 22:18 #2
jeg har det til at virke hvor jeg importere en fil, men vil gerne hvor jeg kan smide det hele i et text felt i stedet for først i en fil, for derefter at upload den. min kode ser sådan ud nu:

if (is_uploaded_file($_FILES['filename']['tmp_name'])) {
       
       
       

        echo "<h1>" . "File ". $_FILES['filename']['name'] ." uploaded successfully." . "</h1>";
        echo "<h2>Displaying contents:</h2>";
       
            }

    //Import uploaded file to Database
    $handle = fopen($_FILES['filename']['tmp_name'], "r");

    while (($data = fgetcsv($handle, 1000, "    ")) !== FALSE) {
        $import="INSERT into tib_ordre(ordre_id, navn, adresse, city, post_nr,email,telefon,indlost,dropdown,product_info,buy_date,ref_nr,prod_name_ship,prod_id, uni_code) values('$data[0]','$data[1]','$data[2]','$data[3]','$data[4]','$data[5]','$data[6]','$data[7]','$data[8]','$data[9]','$data[10]','$data[11]','".$name_prod."','".$prod_id."','".$random_num."')";

        mysql_query($import) or die(mysql_error());
   
    }

    fclose($handle);
Avatar billede frexxit Juniormester
16. maj 2014 - 22:23 #3
Ja. Så langt er jeg. Kommet. For bare ikke de rigtige ting osv sat ind.

Kunne du evt hjælpe lidt. Er sku ikke så god til det der :)
Avatar billede jakobdo Ekspert
16. maj 2014 - 22:47 #4
Du kunne starte meget simpelt...

Start med at "flyt" teksten fra textarea til php.

$txt = $_POST['name_paa_textarea'];

Har du så teksten korrekt i $txt ?

Herefter, begynd at "split" som andre allerede har nævnt.
Kig f.eks. på explode("\n", $txt) eller explode("\r\n", $txt); og se hvad du så har får ud af explode.
Når du har et array med hver linje, så løber du dem igennem og laver en yderligere split på tab explode("\t", $output_fra_foerste_explode);

Du må prøve dig lidt frem. :o)
Avatar billede frexxit Juniormester
17. maj 2014 - 00:17 #5
$textarea = $comment;
       
$text = str_replace("\n", '<br />', $textarea);

$data = explode("    ", $text);
for($i=0; $i < count($data); $i++)
{
echo $data[$i];
   
}


$import="INSERT into tib_ordre(ordre_id, navn, adresse, city, post_nr,email,telefon,indlost,dropdown,product_info,buy_date,ref_nr,prod_name_ship,prod_id, uni_code) values('$data[0]','$data[1]','$data[2]','$data[3]','$data[4]','$data[5]','$data[6]','$data[7]','$data[8]','$data[9]','$data[10]',
'$data[11]','".$name_prod."','".$prod_id."','".$random_num."')";

        mysql_query($import) or die(mysql_error());

det har jeg fået sat sammen flere gange det her. men jeg kan sku ikek få den til at smide det ind i sql for hver linje skift, den smider kun den første del ind og så stopper den hvis jeg fx har to linjer.

i min ref_nr skriver den fx:
FXSS-368<br />ordre_id
hvordan for jeg lige <br />ordre_id slette, det er jo der hvor den nye linje starter. :)

:)
Avatar billede rix Praktikant
17. maj 2014 - 00:27 #6
Prøv at komme med hele siden tror godt jeg ved hvor fejlen er
Avatar billede frexxit Juniormester
17. maj 2014 - 00:37 #7
Det er mere eller mindre hele siden der har noget med det at gøre, resten er bare noget med at sende en mail osv.

her er alt der har med det at gøre, vil du have ALT. så sig til, men den er lang den kode.

if (isset($_POST['submit'])) {
include_once("DB_FILE_NAME.php");

$name_prod = $_POST[enhed];
$prod_id = $_POST[id_number];
$comment = $_POST[comment];
$levering = $_POST[popupDatepicker];

$random_num = rand(99999999, 99999999999999);
       
$textarea = $comment;
       
$text = str_replace("\n", '<br />', $textarea);

$data = explode("    ", $text);
for($i=0; $i < count($data); $i++)
{

            echo $data[$i];
   
   
}


$import="INSERT into tib_ordre(ordre_id, navn, adresse, city, post_nr,email,telefon,indlost,dropdown,product_info,buy_date,ref_nr,prod_name_ship,prod_id, uni_code) values('$data[0]','$data[1]','$data[2]','$data[3]','$data[4]','$data[5]','$data[6]','$data[7]','$data[8]','$data[9]','$data[10]',
'$data[11]','".$name_prod."','".$prod_id."','".$random_num."')";

        mysql_query($import) or die(mysql_error());


PS: ikke grin for meget af min kode :)
Avatar billede frexxit Juniormester
21. juni 2014 - 00:09 #8
ïngen svar. lukker selv
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester