我想获取所选类别的category_id并将其传递给子类别的下一个查询,以便下一个组合框将根据所选类别包含子类别。你能帮我做一下吗?这是我的javascript,php和html代码。
public class WinAPI
{
[DllImport("ntdll.dll", SetLastError = true)]
public static extern IntPtr NtQueryInformationFile(IntPtr fileHandle, ref IO_STATUS_BLOCK IoStatusBlock, IntPtr pInfoBlock, uint length, FILE_INFORMATION_CLASS fileInformation);
public struct IO_STATUS_BLOCK
{
uint status;
ulong information;
}
public struct _FILE_INTERNAL_INFORMATION
{
public ulong IndexNumber;
}
// Abbreviated, there are more values than shown
public enum FILE_INFORMATION_CLASS
{
FileDirectoryInformation = 1, // 1
FileFullDirectoryInformation, // 2
FileBothDirectoryInformation, // 3
FileBasicInformation, // 4
FileStandardInformation, // 5
FileInternalInformation // 6
}
[DllImport("kernel32.dll", SetLastError = true)]
public static extern bool GetFileInformationByHandle(IntPtr hFile, out BY_HANDLE_FILE_INFORMATION lpFileInformation);
[DllImport("kernel32.dll", SetLastError = true)]
public static extern IntPtr OpenFileById(IntPtr hFile, FILE_ID_DESCRIPTOR lpFileID, uint dwDesiredAccess, uint dwShareMode, uint dwFlagas);
[StructLayout(LayoutKind.Explicit)]
public struct FILE_ID_DESCRIPTOR
{
[FieldOffset(0)] public uint dwSize;
[FieldOffset(4)] public FILE_ID_TYPE type;
// [FieldOffset(8)] public Guid guid;
[FieldOffset(8)] public long FileReferenceNumber;
}
public enum FILE_ID_TYPE
{
FileIdType = 0,
ObjectIdType = 1,
ExtendedFileIdType = 2,
MaximumFileIdType
};
public struct BY_HANDLE_FILE_INFORMATION
{
public uint FileAttributes;
public FILETIME CreationTime;
public FILETIME LastAccessTime;
public FILETIME LastWriteTime;
public uint VolumeSerialNumber;
public uint FileSizeHigh;
public uint FileSizeLow;
public uint NumberOfLinks;
public uint FileIndexHigh;
public uint FileIndexLow;
}
}
public class File_Handle
{
public ulong Get_Index()
{
WinAPI.BY_HANDLE_FILE_INFORMATION objectFileInfo = new WinAPI.BY_HANDLE_FILE_INFORMATION();
FileInfo fi = new FileInfo(@"D:\Test\Testfile.txt");
FileStream fs = fi.Open(FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
WinAPI.GetFileInformationByHandle(fs.Handle, out objectFileInfo);
fs.Close();
ulong fileIndex = ((ulong)objectFileInfo.FileIndexHigh << 32) + (ulong)objectFileInfo.FileIndexLow;
return fileIndex;
}
public string Retrieve_File(ulong Index)
{
// WinAPI.BY_HANDLE_FILE_INFORMATION objectFileInfo = new WinAPI.BY_HANDLE_FILE_INFORMATION();
// WinAPI.FILE_ID_DESCRIPTOR Descriptor = new WinAPI.FILE_ID_DESCRIPTOR { dwSize = sizeof(uint) + sizeof(WinAPI.FILE_ID_TYPE) + sizeof(long), type = WinAPI.FILE_ID_TYPE.FileIdType, FileReferenceNumber = (long)Index };
WinAPI.FILE_ID_DESCRIPTOR Descriptor = new WinAPI.FILE_ID_DESCRIPTOR { dwSize = 100, type = WinAPI.FILE_ID_TYPE.FileIdType, FileReferenceNumber = (long)Index };
FileInfo fi = new FileInfo(@"D:\Test\TestfileRef.txt");
FileStream fs = fi.Open(FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
//FileStream wf = new FileStream(WinAPI.OpenFileById(fs.Handle, Descriptor, 0, 4, 0x08000000), FileAccess.ReadWrite);
FileStream wf = new FileStream(WinAPI.OpenFileById(fs.Handle, Descriptor, 0, 0, 0x08000000), FileAccess.ReadWrite);
WinAPI.BY_HANDLE_FILE_INFORMATION objectFileInfo = new WinAPI.BY_HANDLE_FILE_INFORMATION();
WinAPI.GetFileInformationByHandle(wf.Handle, out objectFileInfo);
fs.Close();
wf.Close();
return "Dummy";
}
}
答案 0 :(得分:0)
将此行编辑为:
$sql_row = mysqli_query($mysqli,"SELECT * from subcategories where category_id='".$_REQUEST['cat_id']."'");
提供$_REQUEST['cat_id']
有一个值,它现在应该正确进入查询。
答案 1 :(得分:0)
尝试删除$ _REQUEST周围的单引号。可能是DB上的列类型是int。 请尝试以下代码。
<?php
$cat_id=$_REQUEST['cat_id'];
$sql_row = mysqli_query($mysqli,"SELECT * from subcategories where category_id=$cat_id");