CREATE TABLE IF NOT EXISTS `sendticket` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`ticketid` int(11) NOT NULL,
`sendby_id` int(11) NOT NULL,
`sendto_id` varchar(60) NOT NULL,
`send_on` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
INSERT INTO `sendticket` (`id`, `ticketid`, `sendby_id`, `sendto_id`, `send_on`) VALUES
(1, 2, 1, '10', 1399276280),
(2, 4, 2, '[email protected]', 1399276280);
Was ich benötige, ist, die Details der Tickets zu erhalten, die mir geschenkt werden. Ich verwende die folgende Abfrage, aber selbst wenn ich keine Tickets erhalten habe, werden Datensätze zurückgegeben.
$userid=1;
$query = $this->db->query("
select
s.send_on, s.sendby_id,
t.ticket_key, t.video_id,
a.first_name, a.last_name,
v.title, v.videothumbnail
from sendticket as s
LEFT JOIN ticket as t ON s.ticketid=t.id
LEFT JOIN auth_user_profiles as a ON a.user_id=s.sendby_id
LEFT JOIN video as v ON t.video_id=v.videoid and s.sendto_id=$userid
order by s.send_on desc
");
Hier erwarte ich die Ticketdetails, Videodetails, für die das Ticket gekauft wurde, und die Details des Benutzers, der mir das Ticket geschenkt hat, das in der Tabelle sendticket sendby_id ist. Derzeit habe ich keine geschenkten Tickets, daher sollte es keine Datensätze geben. Aber stattdessen werden jetzt Datensätze zurückgegeben, die nicht meinen Anforderungen entsprechen.
Ich weiß, dass der linke Join in diesem Fall nicht funktioniert. Ich habe es mit INNER JOIN zusammen mit LEFT JOIN versucht. Aber es hat nicht funktioniert. Kann mir jemand helfen, dieses Problem zu beheben?
INSERT INTO `ticket` (`id`, `user_id`, `video_id`, `ticket_key`, `attempt`, `generated_on`, `status`) VALUES (1, 1, 5, '0b9d4d5aee', 0, 1399262972, 0), (2, 1, 5, '1f5de2cde3', 0, 1399263032, 0), (3, 1, 5, 'ba2376bb21', 0, 1399263036, 0), (4, 1, 2, 'd571360f37', 0, 1399267971, 0), (5, 1, 5, '99d98364e4', 0, 1399276280, 0), (6, 1, 5, '290486a5f5', 1, 1399281061, 0), (7, 1, 5, 'cccc1c72ab', 1, 1399281148, 0); [/code] sendticket (Tabelle, in der Details gespeichert werden, wenn das Ticket einem Freund geschenkt wird) [code]CREATE TABLE IF NOT EXISTS `sendticket` ( `id` int(11) NOT NULL AUTO_INCREMENT, `ticketid` int(11) NOT NULL, `sendby_id` int(11) NOT NULL, `sendto_id` varchar(60) NOT NULL, `send_on` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
INSERT INTO `sendticket` (`id`, `ticketid`, `sendby_id`, `sendto_id`, `send_on`) VALUES (1, 2, 1, '10', 1399276280), (2, 4, 2, '[email protected]', 1399276280); [/code] Was ich benötige, ist, die Details der Tickets zu erhalten, die mir geschenkt werden. Ich verwende die folgende Abfrage, aber selbst wenn ich keine Tickets erhalten habe, werden Datensätze zurückgegeben. [code]$userid=1;
$query = $this->db->query(" select s.send_on, s.sendby_id, t.ticket_key, t.video_id, a.first_name, a.last_name, v.title, v.videothumbnail from sendticket as s LEFT JOIN ticket as t ON s.ticketid=t.id LEFT JOIN auth_user_profiles as a ON a.user_id=s.sendby_id LEFT JOIN video as v ON t.video_id=v.videoid and s.sendto_id=$userid order by s.send_on desc "); [/code] Hier erwarte ich die Ticketdetails, Videodetails, für die das Ticket gekauft wurde, und die Details des Benutzers, der mir das Ticket geschenkt hat, das in der Tabelle sendticket sendby_id ist. Derzeit habe ich keine geschenkten Tickets, daher sollte es keine Datensätze geben. Aber stattdessen werden jetzt Datensätze zurückgegeben, die nicht meinen Anforderungen entsprechen. Ich weiß, dass der linke Join in diesem Fall nicht funktioniert. Ich habe es mit INNER JOIN zusammen mit LEFT JOIN versucht. Aber es hat nicht funktioniert. Kann mir jemand helfen, dieses [url=viewtopic.php?t=26065]Problem[/url] zu beheben?
Ich möchte, wo Daten mit $ find auswählen, aber es (wo) nicht in der folgenden Abfrage und meine Ausgabe ist nicht , wie beheben?
$find= hello ;
$query = $this->db->query('
SELECT...
Ich wollte nur etwas Hilfe dabei, herauszufinden, wie ich Daten, die aus einem Mehrfachauswahlfeld kommen, in eine Variable und dann in eine Datenbank einfügen würde.
Meine Datenbanktabelle ist wie...
Ich verwende derzeit CodeIgniter. Ich versuche, meine Datenbank auf diese Weise zu aktualisieren:
function index($email) //function wchich will reset the password in the database;
{
$new_password =...
Ich versuche, die Rohfunktion „findAll“ von CodeIgniter 4 zu verwenden, und erhalte die Fehlermeldung „Argument 1 übergeben an CodeIgniter\Database\BaseResult::getResult()“, wie unten gezeigt:...
Ich versuche, mithilfe der Kotlin-Bibliothek die neuesten Scandaten für eine bestimmte Benutzer-ID aus meiner Supabase-Tabelle abzurufen. Die Abfrage gibt jedoch eine leere Liste zurück, obwohl...