Что нового

[Элементы GUI] Определяем id в бд MySQL строки из Combo

G

GenoTIP

Гость
Есть combo, в нем динамически меняются записи.. в общем к примеру в нем есть 1 строка, её id соответственно 1, извлекаю командой
Код:
_GUICtrlComboBox_GetCurSel

но чтобы мне извлечь информацию из базы, связанную с этой строкой мне нужен id не тот, который связан с порядковым номером внутри combo, а тот что в бд, к примеру таже строка что 1 с id = 1 находится в бд с id = 3, как мне извлечь информацию из 3 строк в бд?

до этого я выводя в combo все строки из таблицы в базе мог использовать id в комбо, чтобы извлечь запись из таблицы, но тут случай сложнее использовать id записи, что в комбо не получается.. срочно нужна помощь, заранее спаисбо! :'(
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
GenoTIP,
Попробуйте так.
Код:
#include <GUIConstantsEx.au3>
#include <ComboConstants.au3>

Dim $aID[5][2] = [[11, 'FF'],[12, 'YY'],[13, 'OO'],[14, 'MM'],[15, 'LL']];к примеру, массив получили из базы данных

$hGui = GUICreate('Test', 230, 100)
$nCombo_1 = GUICtrlCreateCombo('', 10, 20, 100, 20, $CBS_DROPDOWNLIST)
$nCombo_2 = GUICtrlCreateCombo('', 120, 20, 100, 20, $CBS_DROPDOWNLIST)
For $i = 0 To UBound($aID) - 1
	If $i Then
		GUICtrlSetData($nCombo_1, $aID[$i][0])
		GUICtrlSetData($nCombo_2, $aID[$i][1])
	Else
		GUICtrlSetData($nCombo_1, $aID[$i][0], $aID[$i][0])
		GUICtrlSetData($nCombo_2, $aID[$i][1], $aID[$i][1])
	EndIf
Next
$nButton1 = GUICtrlCreateButton('1', 10, 60, 100, 30)
$nButton2 = GUICtrlCreateButton('2', 120, 60, 100, 30)
GUICtrlSetState(-1, $GUI_FOCUS)
GUISetState()
While 1
	Switch GUIGetMsg()
		Case $GUI_EVENT_CLOSE
			Exit
		Case $nButton1
			$vTemp = GUICtrlRead($nCombo_1)
			For $i = 0 To UBound($aID) - 1
				If $vTemp = $aID[$i][0] Then
					MsgBox(64, '1 Info', $aID[$i][1] & @LF & $vTemp, 0, $hGui)
					ExitLoop
				EndIf
			Next
			$vTemp = ''
		Case $nButton2
			$vTemp = GUICtrlSendMsg($nCombo_2, $CB_GETCURSEL, 0, 0)
			MsgBox(64, '2 Info', $aID[$vTemp][1] & @LF & $aID[$vTemp][0], 0, $hGui)
			$vTemp = ''
	EndSwitch
WEnd
 
Автор
G

GenoTIP

Гость
первый вариант не понял, а второй как раз так и делает как я до этого "особого случая", $CB_GETCURSEL - считает ид выбранного и дальше выводит его из базы
1 в 1 _GUICtrlComboBox_GetCurSel
 

inververs

AutoIT Гуру
Сообщения
2,135
Репутация
465
GenoTIP
В массиве соответсвтия id комбо и id базы данных.
 
Верх