Laatste komma na insert values sql serv (PHP forloop)

Status
Niet open voor verdere reacties.

BZilla

Gebruiker
Lid geworden
16 apr 2014
Berichten
170
Goeiemiddag.

Ik heb een query draaien die opgehaalde data in een array zet.
Het werkt allemaal, alleen in de forloop moet nog een extra functie komen wanneer hij bij de laatste value is, de komma er niet achter moet geplakt worden.

nu heb ik bvb :

Code:
VALUES 
('test','test','test','test','test','test','test'),
('test','test','test','test','test','test','test'),
('test','test','test','test','test','test','test'), <--- die komma....

Iemand enig idee hoe ik dit weg krijg?

php code
PHP:
$sql2="INSERT INTO database (test1, test2, test3, test4, test5, test6, test7) VALUES " ;
for($i=0; $i < count($test1); $i++)
{
	if ( $test5[$i] == '' ) 
	{
	
	}
	else
	{
		$sql2.="('";
		$sql2.=$test1;
		$sql2.="','";
		$sql2.=$test2[$i];
		$sql2.="','";
		$sql2.=$test3[$i];
		$sql2.="','";
		$sql2.=$test4[$i];
		$sql2.="','";
		$sql2.=$test5[$i];
		$sql2.="','";
		$sql2.=$test6[$i];
		$sql2.="','";
		$sql2.=$test7[$i];
		$sql2.="'),";
	}	
}

Alvast bedankt!

Bzilla
 
He BZilla,

Dit zou je op deze manier kunnen doen
PHP:
$sql2 = rtrim($sql2, ',');

Alleen is de manier van jou om gegevens in de database te zetten een beetje vaag
 
Dit werkt prima dankjewel!

Wat mijn manier betreft. Iedere var is een array. Bovenaan de pagina haal ik deze al uit elkaar. Met $test1 tel ik het aantal rijen dat er zijn.

Vervolgens wordt er gekeken of $test5 leeg is. Zodra deze leeg is mag de regel niet in de database worden gezet en dus wordt er niks gedaan.

In het andere geval, als $test5 wel ingevuld is, moet de gehele regel in de database gezet worden.

$test1,2,3 is data die ik al eerder uit een andere database haal.

EDIT:

Ik was iets te voorbarig... door het toevoegen van die regel voert hij de INSERT INTO ook 2x uit, geen idee waarom eigenlijk.. heb jou stukje code onder de forloop geplaatst
 
Laatst bewerkt:
Ik zou de komma andersom plaatsen, voor de string in plaats van achteraf. Vervolgens even checken of je in de eerste loop zit zodat je hem dan niet toont:
PHP:
    else
    {
        if ($i != 0) {
            $sql2 .= ',';
        }
        $sql2.="('";
        $sql2.=$test1;
        $sql2.="','";
        $sql2.=$test2[$i];
        $sql2.="','";
        $sql2.=$test3[$i];
        $sql2.="','";
        $sql2.=$test4[$i];
        $sql2.="','";
        $sql2.=$test5[$i];
        $sql2.="','";
        $sql2.=$test6[$i];
        $sql2.="','";
        $sql2.=$test7[$i];
        $sql2.="')";
    }
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan