#1 (permalink)  
Alt 14.01.2010, 10:19
Erfahrener Benutzer
 
Registriert seit: 16.12.2008
Beiträge: 1.346
Standard Frage zu PHP

Hallo,

meine PHP Künste sind leider, nennen wir es mal nonexistent.

Mit sehr viel Mühe konnte ich mir folgendes Script zusammenbasteln:

PHP-Code:
<?php
$db 
= new mysqli('localhost''*****''*****''******');
if (
mysqli_connect_errno()) {
    die (
'Keine Verbindung zur Datenbank möglich: '.mysqli_connect_error().'('.mysqli_connect_errno().')');
}
$sql 'SELECT
    products_name    
FROM
    xt_products_description'
;
$result $db->query($sql);
if (!
$result) {
    die (
'Abfrage nicht erfolgreich: '.$db->error);
}

while (
$row $result->fetch_assoc()) {  
    echo 
$row ['products_name']."<br/>"
}

$result->close();
unset(
$result); 
?>
Das ganze funktioniert so weit auch, allerdings wird für nicht existierende product_id`s eine Leerzeile eingefügt.

Falls mir irgendjemand sagen kann wie ich das verhindern kann, und auch ob man das Script irgendwie verbessern kann, wäre ich sehr dankbar.

MfG. Hansen
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #2 (permalink)  
Alt 14.01.2010, 11:22
Erfahrener Benutzer
 
Registriert seit: 22.07.2009
Ort: Bad Bramstedt
Beiträge: 946
Standard

Also meine kentnise sind fast null

aber du solltest eine class schreiben und die dann mit dem script aufruffen
allein weils sichere ist.

Mein beitrag zur verbesserung

Geändert von giller (14.01.2010 um 11:23 Uhr) Grund: p.s guck dir die db conect im shop an
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #3 (permalink)  
Alt 14.01.2010, 11:28
Erfahrener Benutzer
 
Registriert seit: 16.12.2008
Beiträge: 1.346
Standard

Hallo,

immerhin kennen wir uns denn ja beide kaum aus.

Mit "class schreiben" meinst du eine weitere .php in der die Zugangsdaten stehen und diese dann per include einbinden?

MfG. Hansen
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #4 (permalink)  
Alt 14.01.2010, 11:37
Erfahrener Benutzer
 
Registriert seit: 21.01.2009
Beiträge: 503
Standard

Ich kapier das nicht ganz ... wie kann ein produkt keine products_id haben!?

naja ich hab das mal fertig gemacht. Den Inhalt der Variable $sql hab ich geändert.

PHP-Code:
<?php
$db 
= new mysqli('localhost''*****''*****''******');
if (
mysqli_connect_errno()) {
    die (
'Keine Verbindung zur Datenbank möglich: '.mysqli_connect_error().'('.mysqli_connect_errno().')');
}
$sql "SELECT
    *    
FROM
    xt_products_description WHERE products_id!=''"
;
$result $db->query($sql);
if (!
$result) {
    die (
'Abfrage nicht erfolgreich: '.$db->error);
}

while (
$row $result->fetch_assoc()) {  
    echo 
$row ['products_name']."<br/>"
}

$result->close();
unset(
$result); 
?>
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #5 (permalink)  
Alt 14.01.2010, 12:10
Erfahrener Benutzer
 
Registriert seit: 16.12.2008
Beiträge: 1.346
Standard

Hallo Ahlfy,

danke für die Anpassung. Das Problem bleibt aber weiterhin bestehen.

Was ich meinte ist nicht, das für einen Artikel der keine ID hat eine Leerzeile angelegt wird, sondern für jeden Artikel der mal existierte und gelöscht wurde.

Dadurch ensteht ein Sprung in den ID´s und der wird mit einer Leerzeile gefüllt.

Ich schicke die mal einen Link zur php dann siehst du was ich meine.

MfG. Hansen
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #6 (permalink)  
Alt 14.01.2010, 12:29
Erfahrener Benutzer
 
Registriert seit: 21.01.2009
Beiträge: 503
Standard

Iwie kapier ich grad nicht, warum er das so ausgegeben hat ... ich hab da wohl nen denkfehler ...

Folgende Lösung funktioniert ...

PHP-Code:
<?php
$db 
= new mysqli('localhost''*****''*****''********');
if (
mysqli_connect_errno()) {
    die (
'Keine Verbindung zur Datenbank möglich: '.mysqli_connect_error().'('.mysqli_connect_errno().')');
}
$sql "SELECT * FROM xt_products_description";
$result $db->query($sql);
if (!
$result) {
    die (
'Abfrage nicht erfolgreich: '.$db->error);
}

while (
$row $result->fetch_assoc()) {
if(empty(
$row ['products_name'])) {
echo 
"";
}  else {
    echo 
$row ['products_name']."<br/>"
    }
}

$result->close();
unset(
$result); 
?>
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #7 (permalink)  
Alt 14.01.2010, 12:43
Erfahrener Benutzer
 
Registriert seit: 16.12.2008
Beiträge: 1.346
Standard

Vielen Dank Ahlfy.

So wird die Liste richtig ausgegeben.

MfG. Hansen
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
frage, php

Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
IonCube in XAMPP mit Windows SRaue Anleitungen - Patches - Downloads 2 10.10.2008 14:07
Step_6 Funzt Nicht kleinsie Installation und Konfiguration 1 28.01.2005 12:13
Ich Habe Ne Frage An Die Php Profis 12345 Installation und Konfiguration 3 21.09.2003 13:22


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:54 Uhr.

Copyright © 2011 xt:Commerce GmbH / xt:Commerce International Ltd. - All Rights Reserved

xt:Commerce is a SafeCharge brand