Antworten auf deine Fragen:
Neues Thema erstellen

Erledigt - Nachname aus datenbank bei Ausgabe Abkürzen

Code:
function getCompleteName($uid)
{
    require("./asset/mysql.php");
    $user = $mysql->prepare("SELECT vorname&" "& LEFT(nachname,1)&"." FROM user WHERE userid = :userid");
    $user->bindParam(":userid", $uid);
    $user->execute();
    return $user;
}
 

Ich kann kein PHP aber so wie ich das sehe: In Zeile 12 in dem von dir geposteten Code erstellst du ja den $userGesamt. Da hast du Vor- und Nachname, mit einem Leerzeichen getrennt.
Jetzt kannst du doch statt dem gesamten Nachnamen hier nur den ersten Buchstaben verwenden:

Edit: Natürlich kann man es auch so machen wie ursprünglich vorgeschlagen, dass man nur den ersten Buchstaben aus der Tabelle ausliest. Aber wenn das nicht klappt gibt es eben auch Alternativen.
 
PHP Parse error: syntax error, unexpected double-quoted string "& LEFT(nachname,1)&", expecting ")" in D:\Users\Enrico\Desktop\ProDartsLeague\andy\functions\global.php on line 5
[Wed Sep 29 08:37:56 2021] [::1]:63347 [500]: GET /index.php?page=kalender&liga=1 - syntax error, unexpected double-quoted string "& LEFT(nachname,1)&", expecting ")" in D:\Users\Enrico\Desktop\ProDartsLeague\andy\functions\global.php on line 5

dann bekomme ich das
 
Dann mach das was dir die Fehlermeldung sagt und nimm keinen double-quotet sondern einen single-quotet string? ' anstatt von ". Die beiden kann man ja nicht nach belieben mischen.
 
Müssten evtl. die doppelten gegen einfache Anführungsstriche ersetzt werden. Frag mal den @Myhar ...

PS: Äääähhh - der war scheller... :D

PPS: Die Ersetzung nur innerhalb der SQL Abfrage vornehmen! Die äußeren beiden Doppelten müssen bleiben.
 
Zuletzt bearbeitet:
Ich kann kein PHP aber so wie ich das sehe: In Zeile 12 in dem von dir geposteten Code erstellst du ja den $userGesamt. Da hast du Vor- und Nachname, mit einem Leerzeichen getrennt.
Jetzt kannst du doch statt dem gesamten Nachnamen hier nur den ersten Buchstaben verwenden:

Edit: Natürlich kann man es auch so machen wie ursprünglich vorgeschlagen, dass man nur den ersten Buchstaben aus der Tabelle ausliest. Aber wenn das nicht klappt gibt es eben auch Alternativen.
Ja das hab ich auch versucht, aber ich weiß nicht wo ich das hinschreiben soll, hab es jetzt an mehreren Stellen probiert aber er teigt mir den kompletten namen an oder gar nix :oops:
 
....
Code:
$user = $mysql->prepare("SELECT vorname&' '& LEFT(nachname,1)&'.' FROM user WHERE userid = :userid");
....
 
Dann spuckt er das hier aus
PHP Fatal error: Uncaught Error: Object of class PDOStatement could not be converted to string in D:\Users\Enrico\Desktop\ProDartsLeague\andy\templates\kalender.php:124
Stack trace:
#0 D:\Users\Enrico\Desktop\ProDartsLeague\andy\index.php(45): include()
#1 {main}
thrown in D:\Users\Enrico\Desktop\ProDartsLeague\andy\templates\kalender.php on line 124

und zeigt gar nix mehr an
 
Wenn ich jetzt die alte function bestehen lasse und nur oben den "prepare" anpasse dann sagt er mir, das Vor und nAchname undefinierte arrays sind

PHP Warning: Undefined array key "vorname" in D:\Users\Enrico\Desktop\ProDartsLeague\andy\functions\global.php on line 11
[Wed Sep 29 08:53:16 2021] PHP Warning: Undefined array key "nachname" in D:\Users\Enrico\Desktop\ProDartsLeague\andy\functions\global.php on line 12
 
Einen hätte ich noch:

Code:
$user = $mysql->prepare("SELECT vorname&' '& LEFT(nachname,1)&'.'  AS userGesamt FROM user WHERE userid = :userid");
...
$userGesamt = $user['userGesamt'];
return $userGesamt;
 
Nööö will er auch nicht... egal, ich lass es jetzt. Soll sich mein Kumpel mit RUmgschlagen :D

Aber danke für eure Hilfe, schön zu sehen, dass das Forum doch noch funktioniert und man Hilfe findet. :danke::danke::danke:
 
Nööö will er auch nicht...
Nur der Vollständigkeit halber die ganze Funktion:
Code:
function getCompleteName($uid)
{
    require("./asset/mysql.php");
    $user = $mysql->prepare("SELECT vorname&' '& LEFT(nachname,1)&'.'  AS userGesamt FROM user WHERE userid = :userid");
    $user->bindParam(":userid", $uid);
    $user->execute();
    $userGesamt = $user['userGesamt'];
    return $userGesamt;
}

Problem ist: Bin auch kein PHP-ler ... :eek:
 
:happy2::happy2::happy2::happy2::happy2::happy2::happy2::happy2:

Ich hab es

PHP:
function getCompleteName($uid)
{
    require("./asset/mysql.php");
    $user = $mysql->prepare("SELECT vorname, nachname FROM user WHERE userid = :userid");
    $user->bindParam(":userid", $uid);
    $user->execute();
    $userVorname = "";
    $userNachname = "";
    foreach ($user as $user) {
        $userVorname = $user['vorname'];
        $userNachname = substr($user['nachname'],0,1).".";
        $userGesamt = $userVorname." ".$userNachname;
    }
    return $userGesamt;
}

war der Meinung ich hab es genau so schon mal probiert und kein Ergebnis bekommen. Aber so funktioniert es
 
Mir ist immer noch nicht klar, wofür foreach ist ...:rolleyes: Anscheinend produziert die Abfrage ein Array und braucht deshalb die Schleife, obwohl nur ein Datensatz ausgegeben wird. Probier doch das nochmal:
Code:
function getCompleteName($uid)
{
    require("./asset/mysql.php");
    $user = $mysql->prepare("SELECT vorname&' '& LEFT(nachname,1)&'.'  AS userGesamt FROM user WHERE userid = :userid");
    $user->bindParam(":userid", $uid);
    $user->execute();
    foreach ($user as $user) {
        $userGesamt = $user['userGesamt'];
    }
    return $userGesamt;
}
 
Mir ist immer noch nicht klar, wofür foreach ist ...:rolleyes: Anscheinend produziert die Abfrage ein Array und braucht deshalb die Schleife, obwohl nur ein Datensatz ausgegeben wird. Probier doch das nochmal:
Code:
function getCompleteName($uid)
{
    require("./asset/mysql.php");
    $user = $mysql->prepare("SELECT vorname&' '& LEFT(nachname,1)&'.'  AS userGesamt FROM user WHERE userid = :userid");
    $user->bindParam(":userid", $uid);
    $user->execute();
    foreach ($user as $user) {
        $userGesamt = $user['userGesamt'];
    }
    return $userGesamt;
}

keine Ahnung, aber das was du jetzt nochmal gebastelt hast gibt beim Namen eine 0 aus :confused:
 
das was du jetzt nochmal gebastelt hast gibt beim Namen eine 0 aus :confused:
Na immerhin keine Fehlermeldung. Irgendetwas fehlt noch. Anscheinend wird der userGesamt in der Abfage noch nicht als String erkannt. Und dies:
Code:
function getCompleteName($uid)
{
    require("./asset/mysql.php");
    $user = $mysql->prepare("SELECT vorname&' '& LEFT(nachname,1)&'.'  AS userGesamt FROM user WHERE userid = :userid");
    $user->bindParam(":userid", $uid);
    $user->execute();
    $userGesamt="";
    foreach ($user as $user) {
        $userGesamt = $user['userGesamt'];
    }
    return $userGesamt;
}
 
Zuletzt bearbeitet:
Na immerhin keine Fehlermeldung. Irgendetwas fehlt noch. Anscheinend wird der userGesamt in der Abfage noch nicht als String erkannt. Und dies:
Code:
function getCompleteName($uid)
{
    require("./asset/mysql.php");
    $user = $mysql->prepare("SELECT vorname&' '& LEFT(nachname,1)&'.'  AS userGesamt FROM user WHERE userid = :userid");
    $user->bindParam(":userid", $uid);
    $user->execute();
    $userGesamt="";
    foreach ($user as $user) {
        $userGesamt = $user['userGesamt'];
    }
    return $userGesamt;
}
Auch wieder ne 0
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.957
Beiträge
1.540.104
Mitglieder
68.129
Neuestes Mitglied
FlarWolhev
Oben